Delphi知识中心
www.delphi.ee
提供Delphi技术知识
与Delphi程序员共同进步


在线服务QQ:99923144 随时恭候您的光临
首页 基础知识 WIN系统 组件使用 组件开发 数据库 ACTIVEX 多媒体技术 网络技术 关于
文章类别:ACTIVEX    你尚未登陆,会员功能无法使用,请从 网站首页 登陆。
  Delphi接口开发教程(4)  
 
Delphi接口开发教程(4) – 接口的属性

  代码文件:

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.

 

在线服务QQ:99923144 Delphi程序员QQ群(139442)
Delphi知识中心 www.delphi.ee 最专业的Delphi技术资料网站