关于COM编程中接口的继承的疑问(100分)

  • 主题发起人 主题发起人 zhaoxf
  • 开始时间 开始时间
Z

zhaoxf

Unregistered / Unconfirmed
GUEST, unregistred user!
比如我在TypeLib里定义了两个接口IPeople、IEmployee,IEmployee继承IPeople,
在IPeople中定义了GotoWork函数,然后在产生的TPeople类中实现具体的代码,那么
我创建一个IEmployee实例后是否就可以直接调用它的GotoWork函数呢?
我看到在Delphi创建的模板代码中TEmployee类同样也要实现该函数,如果是必须另外
实现的话,继承还有什么意义呢?
TPeople和TEmployee类应该不具备继承的关系,那么我该怎样做才能实现一般的类继承
中的代码复用?
请指教!
 
看看《Delphi 5开发人员指南》第二十三章。
 
TPeople要实现TEmployee的所有函数,除非你的类的父类实现了TEmployee的所有的函数
 
应该有个委托实现!等我查一下书先!
 
http://new.playicq.com/dispdocnew.php?id=3014
这里面有个OBJECT PASCAL的比较详细的介绍,我曾经看到过,你自己查一下!(因为电脑换了,原来的资料找不到了)
 
接口只是一种通讯协议。
接口之间的继承只是继承的声明或定义,而不能继承实现.
 
那我该如何达到我想要的效果呢?这样恐怕也不行吧:
TPeople = class(TAutoObject, IPeople)
TEmployee = class(TPeople, IEmployee)
有没有更好的办法呢?
 
TPeople = class(TAutoObject, IPeople)
TEmployee = class(TPeople, IEmployee)
--------------------------------------
这样可以达到你的目的.
TEmployee已经继承了对IPeople接口的实现,只需要实现
IEmployee接口其余的方法就可以了.
 
我想好好看看COM方面的书,Don Box的《COM本质论》怎么样?网上有电子版的吗?
或者各位给我推荐一本如何?谢啦
 
要不怎么说Delphi害人呢。你首先要弄清楚IID和CLSID的关系。去找COM本质论去看。
最好是台湾版本的(780NT)。考虑技术不要从Delphi, VCL角度,而要从操作系统角
度。这样才不会把一个开发平台、一个Framework看成是救命稻草。

to 张无忌:
上次你发呼叫消息的时候,我已经下去了,很长时间也没再见到你。30958857。
Best Regards
 
http://www.itebook.net/downzone/list.asp?id=1434
http://www.jjhou.com/efile-essential-com.htm
 
后退
顶部