“构造一般不依赖与对象,由类直接调用,构造也可以声明为虚拟的,当构造由类来引用时,虚拟的构造跟静态的构造没有什么区别,当构造由对象实例来引用时,构造就具有多态性。” 看书是看了这么一段话不是很理解 。
请问大侠: 1. 什么叫“构造也可以声明为虚拟的,当构造由类来引用时,虚拟的构造跟静态的构造没有什么区别”
2. “当构造由对象实例来引用时,构造就具有多态性。” 什么时候构造由对象来引用,如何实现多态?
(请用代码举例说明~ 3Q)!
请问大侠: 1. 什么叫“构造也可以声明为虚拟的,当构造由类来引用时,虚拟的构造跟静态的构造没有什么区别”
2. “当构造由对象实例来引用时,构造就具有多态性。” 什么时候构造由对象来引用,如何实现多态?
(请用代码举例说明~ 3Q)!
解决方案 »
- Windows7 实现任务栏特殊效果
- Merry Christmas
- 准备找工作,发个贴..
- 求助:fastreport 2.5中采用Min的时候报错!
- DirectoryListBox的小问题
- 怎样取一个数值型字段的第三、四位的值?
- Ado链接Access数据库,存取图片,关于几种“流”
- 用Tabel.AddIndex()方法给一个已建表建立索引,出现Table is busy错误,是什么原因?2
- 如何打开一个可以预览Jpg,gif的Picture Dialog
- 突然想到一个问题:如何删除当前.db库中G字段类型里的图像资料?
- 有关DELPHI数据库问题,请前辈们帮助!
- 中国软件业路在何方?
private
......
procedure UpdatePost;
protected public
FTComm: TComm; //spcomm 串口类成
constructor Create(sComName:String);virtual;
destructor Destroy;
procedure Start(aInters:Integer);
procedure Suspend;
procedure Stop;
function InitClass(aiDetNum,aiBegad:Integer):boolean;virtual;
function CheckDet(out iNormal:Integer):boolean;//
//property FTCommt: TFTComm read FTCPClient;
end; TQConTC200 = class(TQConBase)
private
sbuf,RBuf:array[0..8] of byte;
procedure ComSendMSG();override;
procedure ComRevMSG(Sender: TObject; Buffer: Pointer;
BufferLength: Word);override;
function CheckOutRev():Boolean;
public
constructor Create(sComName:String);override;
function InitClass(aiDetNum,aiBegad:Integer):boolean;override;
end;
这样不同的子类就可以有不同的构造方法,