Wou*_*ick 14 delphi class type-declaration
声明新类类型的方法有很多种:
TMyClass1 = TObject;TMyClass2 = type TObject;TMyClass3 = class end;TMyClass4 = class(TObject);TMyClass5 = class(TObject) end;我的理解是,第3,4和5类是后代TObject,但不清楚1和2是如何不同的,以及3,4和5之间的差异是什么.
有什么不同吗?
Bar*_*lly 31
TMyClass1 只是一个别名 - 一个不同的名字 TObjectTMyClass2(是TObject我们称之为"类型类型")的强类型别名; 但是,将它与类一起使用是非常不寻常的,通常你会使用它Pointer来创建一个句柄类型或其他东西(参见例如在Windows.pas中如何使用它).TMyClass3是一个类,隐含地从下降TObject,没有新成员.TMyClass4是一个类,TObject使用简洁的语法显式降序,没有新成员.更常见的是,这用于标记类,其中类本身的唯一性是有趣的东西 - 通常用于Exception后代TMyClass5是一个明确降序的类,TObject没有新成员.该TObject宣言是多余的,但它不会伤害任何东西,使之明确.