在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; {此接口声明了一个 Name 属性; 因为接口没有字段, read/write 都只能从方法} IMyInterface = interface function GetName : string; procedure SetName(val : string); property Name : string read GetName write SetName; end; {类实现的是接口的读写方法, 属性还是属于接口的; 类可以提供一个储存属性的字段} TMyClass = class(TInterfacedObject, IMyInterface) private FName: string; public function GetName: string; procedure SetName(val: string); end; var Form1: TForm1; implementation {$R *.dfm} { TMyClass } function TMyClass.GetName: string; begin Result := FName; end; procedure TMyClass.SetName(val: string); begin FName := val; end; { TForm1 } procedure TForm1.Button1Click(Sender: TObject); var c: TMyClass; i: IMyInterface; begin c := TMyClass.Create; i := c; i.Name := 'ABC'; ShowMessage(i.Name); {ABC} //没有一个 c.Name 存在, 这个属性只属于接口 end; end. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论