接口是什么,我们为什么要用它?接口的GUID又是做什么的?给100分 接口是什么,我们为什么要用它?接口的GUID又是做什么的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对象接口(或简单地说接口)定义了能被一个类实现的方法。接口声明和类相似,但不能直接实例化它,也不能自己实现(定义)它们的方法,而是由支持接口的任何类来提供实现。一个接口类型的变量能引用一个实现了此接口的对象,但是,只有接口中声明的方法才能通过这个变量进行调用。接口提供了一些多继承的好处,却没有多继承带来的语义困难。它们对使用分布式对象模型()也是非常有效的,定制的、支持接口的对象可以和其它语言(比如C++、Java 和其它语言)编写的对象进行交互。 接口,可以看成是访问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; 接口是什么?答:接口是一种类型!是接口设计者和使用者之间的一种协议,类似一个抽象类!但接口中不需要可见性指示字,因为接口中所有的方法都是公开的。另外,接口不可以申明私有数据成员我们为什么要用它?答:涉及COM的时候,接口是实现的基础,必须使用,这个和COM本身结构设计有关如果不涉及COM,那么接口的使用主要是为了实现引用的计数和多继承(这是偶的个人理解)接口的GUID又是做什么的?答:一个16字节的记录类型 delphi 中如何在form1窗口中添加一个方法,并且怎样在类中调用自身的方法呢? 垃圾DELPHI怎么EDIT连居中的属性都没有? delphi中怎么样定义窗体为 模态或者非模态的窗口? 一个关于SQL Explorer的问题 请问现在正版delphi 7.0的报价是多少? 如何入手学Delphi呢? 请问MSDN? 高分,散分 d5下是不是没有COPYFILETO函数,我要是在D5下拷贝东西怎么办呢? 请问如何让DBGrid显示Memo型的字段内容?(急) 怎样在Delphi中使用fastReport 急死了,怎么在Oracle下就是插入不了blob类型的值呢???
也不能自己实现(定义)它们的方法,而是由支持接口的任何类来提供实现。一个接口类型的变量能引
用一个实现了此接口的对象,但是,只有接口中声明的方法才能通过这个变量进行调用。
接口提供了一些多继承的好处,却没有多继承带来的语义困难。它们对使用分布式对象模型()也是非
常有效的,定制的、支持接口的对象可以和其它语言(比如C++、Java 和其它语言)编写的对象进行交
互。
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;
答:接口是一种类型!是接口设计者和使用者之间的一种协议,类似一个抽象类!但接口中不需要可见性指示字,因为接口中所有的方法都是公开的。另外,接口不可以申明私有数据成员我们为什么要用它?
答:涉及COM的时候,接口是实现的基础,必须使用,这个和COM本身结构设计有关
如果不涉及COM,那么接口的使用主要是为了实现引用的计数和多继承(这是偶的个人理解)接口的GUID又是做什么的?
答:一个16字节的记录类型