您的位置:首页 > 编程语言 > Delphi

[Delphi]接口认识

2016-05-20 11:25 351 查看
Delphi中的接口用
interface 进行声明。接口是针对行为方法的描述,而不管他实现这种行为方法的是对象还是别的什么东西。因此,接口和类的出发点是不一样的,是在不同的角度看问题。


接口通过GUID进行唯一标识。(Delphi IDE中按Ctrl+Shift+G 产生GUID)


高版本的Delphi已经用IInterface 进行统一接口的定义(不知道从哪个版本开始)。


IInterface = interface
  ['{00000000-0000-0000-C000-000000000046}']

  // 查询类是否实现了某个接口,调用 TObject.GetInterface 方法
  function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;         
  function _AddRef: Integer; stdcall;          //对象引用计数
  function _Release: Integer; stdcall;         //对象引用减数
end;

IUnknown = IInterface;

 

_AddRef和_Release方法,要求实现类必须实现,主要的目的是对“对象”进行管理,以便知道接口的释放。

接口使用:

可以使用Supports方法判断,也可以用 as 转换。

软件面向接口编程,这样就会灵活,可扩展。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: