接口是什么,我们为什么要用它?接口的GUID又是做什么的?给100分

rummy 2003-10-09 11:22:18
接口是什么,我们为什么要用它?接口的GUID又是做什么的?
...全文
132 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swayi21 2003-10-09
  • 打赏
  • 举报
回复
GUID: 身份証。
swayi21 2003-10-09
  • 打赏
  • 举报
回复
抽象出你想要的邏輯

封裝你的實現細節,實現多繼承。
jacket008 2003-10-09
  • 打赏
  • 举报
回复
散分我接,

要说清楚这个要好几章书,建议你还是找本书看吧
WuLoveXue 2003-10-09
  • 打赏
  • 举报
回复
对象接口(或简单地说接口)定义了能被一个类实现的方法。接口声明和类相似,但不能直接实例化它,
也不能自己实现(定义)它们的方法,而是由支持接口的任何类来提供实现。一个接口类型的变量能引
用一个实现了此接口的对象,但是,只有接口中声明的方法才能通过这个变量进行调用。
接口提供了一些多继承的好处,却没有多继承带来的语义困难。它们对使用分布式对象模型()也是非
常有效的,定制的、支持接口的对象可以和其它语言(比如C++、Java 和其它语言)编写的对象进行交
互。
da_yu 2003-10-09
  • 打赏
  • 举报
回复
关注。
FrameSniper 2003-10-09
  • 打赏
  • 举报
回复
接口是什么?
答:接口是一种类型!是接口设计者和使用者之间的一种协议,类似一个抽象类!但接口中不需要可见性指示字,因为接口中所有的方法都是公开的。另外,接口不可以申明私有数据成员

我们为什么要用它?
答:涉及COM的时候,接口是实现的基础,必须使用,这个和COM本身结构设计有关
如果不涉及COM,那么接口的使用主要是为了实现引用的计数和多继承(这是偶的个人理解)

接口的GUID又是做什么的?
答:一个16字节的记录类型
bluebilly 2003-10-09
  • 打赏
  • 举报
回复
接口,可以看成是访问COM对象的一组方法,可能这样理解,接口只是用作虚拟方法的占位符,它不是对象本身,需要通过类来实现,定义只能包含public方法,定义时不允许出现数据成员,如下是不正确的:
ISampleInterface = interface(IUnknown) //IUnknown 是基本接口,所有接口皆继承于它
Name: string;
function GetName: string;
procedure Setname(s: string);
end;
以上是不对的,它出现了数据据成员Name。

以下是一个简单的实现例子:

ISampleInterface = interface(IUnknown)
function GetName: string;
procedure Setname(s: string);
end;

TSamplempl = class(TInterfaceObject, ISampleInterface)
Name: string;
function Getname: string;
procedure SetName(s: string);
end;
.......
function TSamplempl.GetName: string;
begin
Result := Name;
end;

procedure TSamplempl.SetName(s: string);
begin
Name := s;
end;
end;
delphi_xizhousheng 2003-10-09
  • 打赏
  • 举报
回复
看看Com和Automation

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧