买了本Delphi面向对象编程思想,正在看,产生些问题。

1:第33页说,Delphi通过调用类的一个构造函数来建立一个对象的实例,对象至少有一个create()的构造函数,使用时候写MyObject:=TmyObject.create即可。
   但是第37页说,在方法的分类中有一项为构造方法。
   Type 类名= class(基类)
      constructor 构造方法名(参数)
      ...
    constructor create 和 create 有什么区别?
    前者是否是Create的用户定义实现构造,而后者是用Tobject的默认方法实现构造?2者是否牵扯到重名的覆盖问题?
    
2:  38页又谈到析构方法,那么问题同上,
   destructor destroy 和 destroy 有什么区别?
3:38页“不要在程序中调用destroy来销毁对象,而应该用free”
   这句话看不懂。有什么区别?书上一句话就带过去了。  

 

楼主可以看看李维的《InsideVCL》

 

construtor是类的构造方法
create 是实例的构造方法

1.construtor是类在定义的时候要写的,这样可以让人知道这是构造函数 
create时示例在构造的时候写的,
2.destroy 同 create


3.当您使用完对象后,您应该及时撤销它,以便把这个对象占用的内存释放出来。您可以通过调用一个注销方法来撤销您的对象,它会释放分配给这个对象的内存
Delphi的注销方法有两个:Destroy和Free。Delphi建议使用Free,因为它比Destroy更为安全,同时调用Free会生成效率更高的代码。
您可以用下列的语句释放用完的Employee对象: 
Employee.Free;和Create方法一样,Free方法也是TEmployee从TObject中继承过来的。把您的注销放在try…finally程序模块的finally部分,而把对象的程序代码放在try部分是编程的好习惯。这样,即使您的程序代码在使用对象时发生了异常事件,也会确保您为这个对象分配的内存会被释放。
二者的区别是,Destroy会直接释放对象,而Free会事实检查该对象是否存在,如果对象存在,或者对象不为nil,它才会调用Destroy。因此,程序中应   
该尽量使用free来释放对象,这样更加安全一些。(但要注意,free 也不会自动将对象置为nil,所以在调用free之后,最好是再手动将对象置为nil。)
TObject类有一个虚拟的Destroy虚构函数和一个非虚拟的Free函数。Free函数中是调用Destroy的。因此,当我们对任何对象(都是TObject的子类对象)调用.Free();之后,都会执行TObject.Free();,它会调用我们所使用的对象的析构函数Destroy();。这就保证了任何类型的对象都可以正确地被析构。  

《深入核心——VCL架构剖析》光盘说明-、光盘用途 本光盘为《深入核心——VCL架构剖析》一书的配套光盘,供读者阅读图书时参考和学习。二、光盘内容 光盘“源代码”目录中包含了书中所有源代码,文件目录和图书的目录相对应。如“Chap01”表示书中第1章的范例源代码。 光盘包含了全部的pas、dfm和dpr文件。 我们已经对所有文件进行了简体化工作。如果您在使用中发现有界面乱码问题,请将窗体Font改为“宋体”,Charset改为gb2312即可,并请即时告知我们,让更多读者受益。三、运行环境 多数代码可以直接在Delphi6和Delphi7环境下运行。部分涉及.NET技术内容的代码,需要在Delphi 7上安装Borland .NET Complier for Delphi编译器方可编译执行。Borland已经正式推出Delphi 8 for .NET,所以本书范例中部分内容可能与D8最终版本不符。四、使用方法 直接将范例文件拷贝至硬盘适当目录即可。 多数完整应用程序代码已经编译为.exe可执行文件,读者可直接运行之。五、防病毒 本光盘所有文件都已经过Norton Antivirus扫描,未发现有任何已知病毒。六、风险 读者须对使用光盘所附代码、文件所造成的一切后果负责。 七、如果对代码有任何疑问、建议或者发现有遗漏、错误之处请与 liwei@csdn.net联系。六、所有源代码可以在学习和工作中直接使用,但请不要用于商业目的。
李维新书<<Inside VCL>>的前两章预读,12月份出版。《Inside VCL(深入核心——VCL架构剖析)》将带领您:• 领略优秀Framework之大局观!追寻软件架构大师设计思路,高屋建瓴,廓清Framework设计要义。告诉您何谓Framework,VCL是一种什么样的Framework,未来VCL Framework将走向何方。它是Delphi程序员不可不读的一部大书。• 剖析VCL之精妙大架构!深入探究VCL设计与实现,以RPG方式与读者共同扮演架构设计师,一砖一瓦搭起VCL大厦。配合Windows Framework、COM、Interface等各种技术,按图索骥,逐步厘清VCL Framework真正的脉络所在。• 掌握OO开发之大奥义!紧密融合OO理念和设计模式,用OO理念重新考量VCL,指出其中优秀和不妥之处;让您在了解VCL Framework的同时,体验源自顶尖程序员的OO观。 Delphi已经推出了7个版本,在未来也会持续的推出新的版本,许多人可能也已经使用Delphi许多年并且开发了各种不同的应用系统,但是不管我们使用了Delphi多久,我们真的已经了解Delphi,而且发挥Delphi十成的功能了吗?Delphi 1从推出以来,在每一个版本都加入了许多新的功能,融合的软件技术也一直在增加之中。从RAD、Flat-File数据库功能、VCL组件,一直到主从架构、Web、COM/COM+、MIDAS、多层分布式应用系统,到现在的SOAP/Web Service、dbExpress,DataSnap等技术,程序员们不断地学习和使用新的技术,以便用来开发新的应用系统或是增加程序员个人的附加价值,以求在信息领域能够更上一层楼。不过这些技术大都是属于“应用类”。... ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ok060

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值