关于Interface的一个问题(50分)

  • 主题发起人 主题发起人 wx_zhang365
  • 开始时间 开始时间
W

wx_zhang365

Unregistered / Unconfirmed
GUEST, unregistred user!
我看了Interface发面的编程,发现和函数的多态所完成的功能没什么大的区别。
Interface的优点到底在什么地方?我怎么觉得没必要用这个东西?
 
最起码:MTS中的方法都是都是通过接口实现的吧,接口更像一个组织者,在它里面包含了属性
方法。功能和类类似,但是接口是通过类实现的。一个类可以包含几个接口。
 
比如IMyInterface 是你们全部开发人员定义的一个接口
你实现它的方法和属性的实现,并把它做成DLL或OCX,让其它开发人员通过它的接口调用,
过了段时间,你发现有BUG,你修改了程序,再发布出去,那只要把你的DLL或OCX换了,就行了
而其它的程序员根本不用去改其它东西,Updata Grade也是一样。
 
建议看一下关于com/dcom/com+方面的资料,可以改变一下你现在的理解。
 
接口是COM编程的基础,没有接口简直不可想象。
 
to saoren:
我不用接口照样能实现你所说的结果。定义一个包含纯虚函数的抽象类,子类实现各自不同
的具体工作,别的程序员也只是通过父类来调用各子类的实现函数,同样也不需要改各自的
程序。我是觉得Interface的功能在一般的编程方面来说并不是必须的。
 
当然如果不应用于COM编程,Interface的功能在一般的编程方面与抽象类功能差不多,
在C++中接口就是由抽象类来实现。不过object pascal不支持多重继承,只有用类来
实现多个接口才能达到类似功能。
 
wx_zhang365:
COM的一大特点就是语言无关性,因此用C++写的COM,可以用Delphi调用,反之也可以
你说不用接口也能实现,那是只能在Delphi里实现啊
不用接口,你连最基本的Windows Shell功能都实现不了
另外,wind_cloudy说的多重继承问题也是一个原因
整个操作系统都已经日益COM化,没有接口是无法想象的
 
我的理解是:接口就是一个约定好的协议或标准.大家可以遵循此标准来具体完成自己的实现.
 
多人接受答案了。
 
后退
顶部