Delphi 类声明之间的差异

Delphi 类声明之间的差异,delphi,class,type-declaration,Delphi,Class,Type Declaration,声明新类类型的方法有很多: TMyClass1=TObject TMyClass2=类型TObject TMyClass3=课程结束 TMyClass4=类(TObject) TMyClass5=类(TObject)结束 我的理解是,类3、4和5是TObject的后代,但不清楚1和2的区别,以及3、4和5之间的区别 有什么不同吗? TMyClass1只是一个别名-与TObject TMyClass2是TObject的强类型别名(我们称之为“type'd类型”);但是,在类中使用它是非常罕见的,通

声明新类类型的方法有很多:

  • TMyClass1=TObject
  • TMyClass2=类型TObject
  • TMyClass3=课程结束
  • TMyClass4=类(TObject)
  • TMyClass5=类(TObject)结束
  • 我的理解是,类3、4和5是
    TObject
    的后代,但不清楚1和2的区别,以及3、4和5之间的区别

    有什么不同吗?

    • TMyClass1
      只是一个别名-与
      TObject
    • TMyClass2
      TObject
      的强类型别名(我们称之为“type'd类型”);但是,在类中使用它是非常罕见的,通常情况下,您会将它与指针一起使用,以创建句柄类型或其他内容(例如,请参见如何在Windows.pas中使用它)
    • TMyClass3
      是一个类,从
      TObject
      隐式递减,没有新成员
    • TMyClass4
      是一个类,使用简明语法,从
      TObject
      显式降序而来,没有新成员。更常见的情况是,这用于标记类,其中类本身的唯一性是一件有趣的事情-通常用于
      异常
      子体
    • TMyClass5
      是一个类,显式地从
      TObject
      降序而来,没有新成员。声明中的
      TObject
      是多余的,但将其显式化并不会损害任何东西

    版本4通常用于众所周知的“受保护黑客”。我总是喜欢第三版而不是第五版。版本2有点违背了OOP的目的<代码>TMyClass6=类-前向类定义…
    TMyClass7=TMyClass6的类-元类引用。。。