最近刚接触com,对里面的一些基本概念不太清楚,望各位指点!
我们知道com接口是可以继承的,比如所有接口都从IUnKnown派生一样!我们也可以从其他接口继承自己的接口来实现扩展!就像c++一样!
而包容和聚合也是实现接口的重用性!区别?联系?

解决方案 »

  1.   

    聚合就是调用——COMA聚合COMB就是COMA在使用的时候调用COMB的接口输出函数
    包容就是包含——COMA包容COMB就是COMA在使用的时候将COMB的接口作为自己的接口导出
    呵呵,通俗吧,有一天你顿悟了,其实COM也就那么几招!呵呵
      

  2.   

    vcleaner(我没做大哥已经很久了.......) 首先谢谢!
    聚合和包容我知道。我可能没说清楚!
    我是想问聚合包容 和 继承之间的区别?接口是否可以像c++一样继承其他的接口作为扩展,实现重用??这样的话我就不需要聚合和包容啦
      

  3.   

    com interface can only be inherited when you have source code.agragation and delegation is for binary reuse(without source code) of a com object. binary reuse is real reuse and is also what com is designed for.
      

  4.   

    那如果我
    class IInterfaceEx :public IInterface只这样声明之后,(不用到聚合和包容)!
    IInterfaceEx是不是就可以像C++一样直接继承IInterface中的方法。
      

  5.   

    !!!
    COM不支持接口继承!因为……看书拉,^_^
    所以要提供包容和聚合。其实包容也无所谓。
    一直不知道,为什么要将包容也要单独来讲。
      

  6.   

    聚合就是调用——COMA聚合COMB就是COMA在使用的时候调用COMB的接口输出函数
    包容就是包含——COMA包容COMB就是COMA在使用的时候将COMB的接口作为自己的接口导出
      

  7.   

    A聚合B,则A直接将B的接口暴露给客户;
    A包容B,则A只会把A的接口暴露给客户,在A的接口的实现中调用了B的接口,确实,包容是很自然的,虽然自然,总得起个名字吧