电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

Delphi面向对象编程读书笔记

Delphi面向对象编程读书笔记_第1页
1/20
Delphi面向对象编程读书笔记_第2页
2/20
Delphi面向对象编程读书笔记_第3页
3/20
Delp hi 面向对象编程 读书笔记 <>读书笔记之一 <1> Delphi 中类的声明语法如下: type 类名 = class(基类名) {数据成员声明} {过程和函数声明} {属性声明} end; Example: type TMan=class private FAge:Integer; procedure SetAge(Value:Integer); public Language:string; Married:Boolean; Name:string; SkinColor:string; constructor Create;overload; class procedure Sing; //唱国歌 property Age:Integer read FAge write SetAge; procedure SayHello(words:string); end; <2> 对象构建 Delphi 中的类默认都是从 TObject 类继承而来,对象的创建必须调用构造函数 Delphi 中的对象分配存储空间都是在堆上,这点和 C++不同,C++是可以在栈上分配对象的 Example: procedure TForm1.Button1Click(Sender: TObject); var APerson:TMan; begin APerson:=TMan.Create; end; 为什么可以采用 TMan.Create 这种形式来调用Create 方法呢,因为 Create 前面有 constructor 关键字 constructor 相当于将Create 声明为 Class 方法[相当于 C++中 static 方法] <3> 刘老师在书上的解释如下 原话如下啊:"注意这里的调用构造函数的语法有点特殊 ,是通过类型来引用一个对象的 Create 方法,而不是象其他 方法那样通过实例来应用 .这看上去很奇怪,但很有意义 ,变量 APerson 在调用时还没有定义,而类 TMan已经静态地存在 于内存中,静态方法调用它的Create 方法是合法的" "而类TMyObject 已经静态地存在于内存中"我本人对这句话有点疑惑,类是不占存储空间的,怎么可以说类TMyObject 已经静态地存在于内存中呢? 我将在后面给出我的想法,暂时就到此 <4> 关于is 与as 这两个都是运行期判别对象所属类型的操作符 两则的用法的语法上相似 : 对象变量 is /as 类名 给出书上的例子说明问题 procedure TForm1.ListBox1DragDrop(sender,source:TObject;x,y:Integer) begin if Source is TEdit then ListBox1.Items.Add((Source as TEdit).Text); end; <5>关于self 在普通方法中self 变量的值是对象的应用,而在类方法中,self 变量的值是类引用 Example: TMan=class private FAge:Integer; procedure SetAge(Value:Integer); public Language:string; Married:Boolean; Name:string; SkinColor:string; constructor...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

Delphi面向对象编程读书笔记

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部