在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
技术交流,DH讲解. 今天就把Delphi新语法中与类相关都讲了. 1 静态系列. type TMyClass = class strict private class var FX: Integer; strict protected class function GetX: Integer; static; class procedure SetX(val: Integer); static; public class procedure StatProc(s: String); static; class property X: Integer read GetX write SetX; end; TMyClass.X := 17; TMyClass.StatProc('Hello');静态属性的存取方法也要是静态的. 我们可以看到就是一个class关键字. 2 内部类. 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; 至于这个有什么用,我也不是很清楚的.应该就是可见性上面的区别. 3 可见性. THuangJacky = class private FName:string; end; TTheFiend = class(THuangJacky) public procedure SayMyName; end; { TTheFiend } procedure TTheFiend.SayMyName; begin ShowMessage(FName); end; 肯定有人大呼,违反了面向对象,然后进行一轮批斗. THuangJacky = class strict private FName:string; end; TTheFiend = class(THuangJacky) public procedure SayMyName; end; { TTheFiend } procedure TTheFiend.SayMyName; begin ShowMessage(FName);//Error Here end; 这样就回归正常了,当然还有strict protected,这样就符合面向对象了. 4 终结. TAbstractClass = classabstract public procedure Bar; virtual; end; TSealedClass = class sealed(TAbstractClass) public procedure Bar; override; end; TFinalMethodClass = class(TAbstractClass) public procedure Bar; override; final; end; 继续驶向面向对象的彼岸的杰作. 好了,今天的主题就结束,接下来文章会介绍D2009后加入的泛型,匿名方法等. 我是DH,就到这里. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论