【发布时间】:2014-05-28 07:34:48
【问题描述】:
我有两个类,TNode 和 TMaster。我从 TNode 继承了 TMaster。
目标是创建一个 TMaster 实例,其中包含先前创建的 TNode 实例的所有数据。是否有任何“内置”方法来实现这一点,或者应该手动完成?
type
Tnode = class(TObject)
private
FSite: TSite;
FhndNode: THandle;
FnodeID: word;
FslaveID: longword;
FcoordX: double;
FcoordY: double;
FhndSubRect: THandle;
FdNodes: TdNodes;
Fdestinations: Tdestinations;
FGroup: byte;
FDomain: byte;
FRFsense: byte;
FComm: byte;
FlcIDtextHnd: THandle;
...
public
constructor create();
...
end;
TMaster = class(TNode);
private
FName: string;
FIP: string;
FMAC: string;
public
constructor create( aHandle: HWND; aName, aIP, aMAC: string );
procedure MSG_SETCONFIG( aNode: TNode; aSwitch: integer );
property Name: string read FName write FName;
property IP: string read FIP write FIP;
property MAC: string read FMAC write FMAC;
end;
【问题讨论】:
-
在程序中我存储了很多Tnode实例,但只有一个TMaster实例,所以TNode不需要这些字段。
-
你可以用 RTTI 做到这一点
-
@DavidHeffernan 谢谢你,但目前我不知道如何在这里利用 RTTI。 (:
标签: delphi object subclassing