如何定义一个不继承于任何其他类的类,也就是不继承于Tobject的类?
在delphi中
Tmyclass=class
是否默认了Tmyclass是Tobject的子类?
如果不是,那么
TMsgAccepter=class //消息接受器类
private
procedure AcceptMsg2000(var msg:TMyMsg);message 2000;
procedure AcceptMsg2002(var msg:TMyMsg);message 2002;
public
procedure DefaultHandler(var Message);override; //默认消息处理为何可以覆盖Tobject才有的DefaultHandler方法?
在delphi中
Tmyclass=class
是否默认了Tmyclass是Tobject的子类?
如果不是,那么
TMsgAccepter=class //消息接受器类
private
procedure AcceptMsg2000(var msg:TMyMsg);message 2000;
procedure AcceptMsg2002(var msg:TMyMsg);message 2002;
public
procedure DefaultHandler(var Message);override; //默认消息处理为何可以覆盖Tobject才有的DefaultHandler方法?
是的2.为何可以覆盖Tobject才有的DefaultHandler方法?
是如何吧?3.好像delphi不好创建不继承于任何其他类的类,也就是不继承于Tobject的类.不过一般情况下没有这种需要,你为什么需要创建不继承于任何其他类的类?
Tmyclass=class
就是默认了Tmyclass是Tobject的子类?
完整表述如下:
TMyclass = Class(TObject);
如果一个类继承自TObject;可以省略这个TObject。
// 例如:
type
TMyClass = object
private
FX: Integer;
public
constructor Init;
procedure Test;
destructor Done;
end;var c: TMyClass;
var pc: ^TMyClass;
begin
c.Init;
c.Test;
c.Done;
pc := New(TMyClass);
pc^.Init;
pc^.Test;
pc^.Done;
Dispose(pc);
end;// TMyClass将不继承自任何类
// c定义后自动获得空间,不需要c := TMyClass.Init这样写。
不清楚,关注
type
objTypeName = object(ParentObjType)
memberlist
end;if no ParentObjType, then 该类没有父类。Object类型不能有published成员。
这个类不从TObject派生。因此所有的方法都需要自己写。可以使用New/Dispose来创建及释放。也可以直接声明该类型的变量然后使用,这与一个Record一样。 Delphi不推荐使用这种方法