现在学的是delphi 的类,原D7的类我不就不记了,记下与D7不同的地方
a.class abstract 纯虚类,不能实例化的类
type TAbstractClass = class abstract procedure SomeProcedure;end;(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)
以前的做法是在 procedure 的后面与 abstract ,现在只移类的说明上,只是意思一样,就是直观点少打字 呵呵.
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)b.class sealed 这个我目前不知是什么意思,可能是不能继承的类
type TAbstractClass = class sealed procedure SomeProcedure;end;
c.class const 类的常量,这个地方在D7内可以定类的方法一样能实现
type TClassWithConstant = class public const SomeConst = 'This is a class constant'; end; procedure TForm1.FormCreate(Sender: TObject);begin ShowMessage(TClassWithConstant.SomeConst); //引用时,只写类名就可能引用,不必实例化end;d.class type 类的类型, 在类的层次下可以定record,class子类什么的,这个将数据的集中体现....type TClassWithClassType = class private type TRecordWithinAClass = record SomeField: string; end; public class var RecordWithinAClass: TRecordWithinAClass; end; ...procedure TForm1.FormCreate(Sender: TObject);begin TClassWithClassType.RecordWithinAClass.SomeField := 'This is a field of a class type declaration'; ShowMessage(TClassWithClassType.RecordWithinAClass.SomeField);end;type TOuterClass = class strict private MyField: Integer; public type TInnerClass = class public MyInnerField: Integer; procedure InnerProc; end; procedure OuterProc; end; procedure TOuterClass.TInnerClass.InnerProc;begin ...end;