打印本文 打印本文 关闭窗口 关闭窗口
DELPHI面向对象参考
作者:武汉SEO闵涛  文章来源:敏韬网  点击数3695  更新时间:2009/4/23 18:26:21  文章录入:mintao  责任编辑:mintao
引用:一个对象内部定义了另一个对象变量,即为引用关系

5、  合成:对象内的各组成部分依赖于某一主体属性而同生共灭

6、  聚合:对象内的各组成部分属于零散的简单组合关系,使用不同的服务组合成一个整体的功能

九、接口

1、  接口:具有某种特定的属性及函数/过程签名的定义,而没有实现。不具备内部数据成员。功能的调用是通过创建实现其功能签名的派生类完成的

2、  接口必须具备3个方法:_AddRef/_Release/QueryInterface,最简单的方式是从TinterfacedObject继承

3、  接口使用演示:

IInterface=interface

[''''{02960574-2025-46C3-9882-F79C3C67EA99}'''']

  function GetName:string;

  procedure Eat;

end;

 

TPerson=class(TInterfacedObject,IInterface)

private

  FName: string;

public

  function GetName:string;virtual;

  procedure Eat;dynamic;

  procedure SayHello;virtual;abstract;

published

  constructor create;

  destructor destory;

  property Name:string read FName write FName;

end;

 

TChinese=class(TPerson,IInterface)

public

  procedure SayHello(str:string);overload;

  procedure SayHello;overload;override;

published

  constructor create;

  destructor destory;

end;

 

{ TPerson }

 

constructor TPerson.create;

begin

  ShowMessage(''''TPerson.create'''');

end;

 

destructor TPerson.destory;

begin

  ShowMessage(''''TPerson.destory'''');

end;

 

procedure TPerson.Eat;

begin

  ShowMessage(''''TPerson.Eat'''');

end;

 

function TPerson.GetName: string;

begin

  result:=''''TPerson.GetName'''';

end;

 

{ TChinese }

 

procedure TChinese.SayHello(str: string);

begin

  ShowMessage(''''TChinese.SayHello(''''+str+'''')'''');

end;

 

constructor TChinese.create;

begin

  ShowMessage(''''TChinese.create'''');

end;

 

destructor TChinese.destory;

begin

上一页  [1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口