声明新类类型的方法有很多种:
TMyClass1 = TObject;
TMyClass2 = 类型 TObject;
TMyClass3 = 类结束;
TMyClass4 = class(TObject);
TMyClass5 = class(TObject) end;
据我所知,类 3、4 和 5 是 TObject
的后代,但不清楚 1 和 2 有什么区别,以及 3,4 和 5 之间有什么区别。
有什么不同吗?
最佳答案
TMyClass1
只是一个别名 -TObject
的不同名称TMyClass2
是TObject
的强类型别名(我们称之为“类型化类型”);不过,在类中使用它是非常不寻常的,通常你会在例如用于创建句柄类型或其他内容的指针
(请参阅如何在 Windows.pas 中使用它)。TMyClass3
是一个类,隐式源自TObject
,没有新成员。TMyClass4
是一个类,显式源自TObject
,没有新成员,使用简洁的语法。更常见的是,这用于标记类,其中类本身的唯一性是有趣的事情 - 通常用于Exception
后代TMyClass5
是一个类,显式源自TObject
,没有新成员。声明中的TObject
是多余的,但使其显式化并没有什么坏处。
关于delphi - 类声明之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086439/