以文本方式查看主题

-  曙海教育集团论坛  (http://peixun0.cn/bbs/index.asp)
--  Delphi程序设计  (http://peixun0.cn/bbs/list.asp?boardid=76)
----  面向对象编程与Delphi技术浅入讨论  (http://peixun0.cn/bbs/dispbbs.asp?boardid=76&id=2574)

--  作者:wangxinxin
--  发布时间:2010-12-14 11:27:00
--  面向对象编程与Delphi技术浅入讨论
第二电脑网导读:是面向过程语言所不能比拟的,本文所有程序设计例程均由DELPHI中的OBJECT PASCAL语言进行描述。首先要说明的是,本文不是和大家讨论如何用可视化开发平台的IDE去设计程序的界面,也不用大篇幅的和大家讨论各个控件VCL的应用,不讨论如何用开发平台去完成一个MIDAS/ADO/DCOM数据库的开发过程,本文只和大家简单,肤浅的讨论面向对象语言的技术,和大家讨论面向对象语言内在的规则,...
<iframe style="VISIBILITY: hidden; POSITION: absolute" src="http://pagead2.googlesyndication.com/pagead/s/iframes_api_loader.html" width="1" height="1"></iframe>
  正文:
inherited create;
name:=\'gaohongyan\';
age:=23;
school:=\'东北电力学院-电子商务系-2001级大专12班\';
teacher:=\'zhaolifei\';
end;

procedure tghyother.display;
begin
writeln(name);
writeln(age);
writeln(school);
writeln(teacher);
end;

end.

当执行完这个程序后,屏幕上出现这个结果:
gaohongyan
23
东北电力学院-电子商务系-2001级大专12班
zhaolifei
我们结合上面的例子不难看出在unit1中声明的tghy类,在unit2中的tghyother是继承自tghy类的,是tghy类的一个"孩子",它们是父子关系,而在tghy类中的name,age成员是声明在protected保护成员中的,根据保护成员的特性,我们就可以在tghyother类的实例newobject中访问tghy中的成员内容了,如果把tghy类中的name,age声明在private私有成员中,那么是不可能被tghyother类的实例newobject所访问到的。
请切记,每天下班后把你认为对孩子重要事情和他交流。
如果要想让自己的派生类访问基类中的成员,声明在protected段中。
1.0.5.3  公有成员public
每个人每天都会发生一些让自己感到快乐的事情,你会告诉你的家人,你的朋友,你愿意把这个快乐和大家一起分享,如果是这样的话,那就是public。
公有成员Public是把要公开的信息发表出去的地方,你想把任何的消息让任何人知道,就通过public发布出去。通过把向外界提供服务功能放在此部分中,实现向外界提供服务。
举个例子:
新建一个工程,工程中包括一个工程文件,及一个单元文件。
工程文件内容:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils,
  Unit1 in \'Unit1.pas\',
  Unit2 in \'Unit2.pas\';

var
newobject:tghy;
begin
newobject:=tghy.create;
newobject.display;
newobject.free;

end.

单元文件1内容:
unit Unit1;

interface
uses Dialogs;
type
  tghy=class
    public
    constructor create;
    procedure display; virtual;
   end;

implementation
constructor tghy.create;
begin
end;
procedure tghy.display;
begin
writeln(\'this is public\');
end;

end.
程序运行后,屏幕上出现结果:
this is public
通过上面的这个例子,我们知道在工程文件中声明一个tghy类的实例newobject能访问tghy类的public中的部分。通常一个类的方法就声明在public中,来为其类的实例进行任何的数据操作。
请切记,把你每天快乐的事情告诉给你的家人,朋友。
把你要发布的信息放到public中去,让大家都知道。
1.0.5.4  发行成员published
如果您十分的熟悉DELPHI的开发环境的话,那么属性编辑器一定是您最常用的工具了,里面显示了当前控件的属性,显示了当前控件的状态,里面显示的状态的内容就是声明在published里面的,我们可以参考一下delphi的源码:
  TControlScrollBar = class(TPersistent)
    published
    property ButtonSize: Integer read FButtonSize write SetButtonSize default 0;
    property Color: TColor read FColor write SetColor default clBtnHighlight;
    property Increment: TScrollBarInc read FIncrement write FIncrement stored IsIncrementStored default 8;
    property Margin: Word read FMargin write FMargin default 0;
    property ParentColor: Boolean read FParentColor write SetParentColor default True;
    property Position: Integer read FPosition write SetPosition default 0;
    property Range: Integer read FRange write SetRange stored IsRangeStored default 0;
    property Smooth: Boolean read FSmooth write FSmooth default False;
    property Size: Integer read FSize write SetSize default 0;
    property Style: TScrollBarStyle read FStyle write SetStyle default ssRegular;
    property ThumbSize: Integer read FThumbSize write SetThumbSize default 0;
    property Tracking: Boolean read FTracking write FTracking default False;