一、实现继承
1、COM支持的是接口继承,它继承的是抽象基类的接口
COM为什么不用实现继承?(基类组件的改动引起派生类组件的改动)
2、一般的继承是派生类继承基类的实现
3、用组件包容来模拟实现继承
在C++中对类的改造是通过包容和继承来实现,对组件的改造是通过包容和聚合来实现
二、包容和聚合
1、包容和聚合实际上是一个组件使用另外一个组件的一种技术
2、包容----->外部组件包含内部组件,聚合---->外部组件聚合内部组件
3、包容---->实现内部组件接口,将对某个接口的调用转发给内部组件
4、聚合----->
三、代理和非代理未知接口
内部组件要实现这两个接口
1、代理未知接口
在非聚合组件中,代理未知接口调用非代理未知接口;在聚合组件中,代理未知接口调用外部未知接口。
2、非代理未知接口
按通常方式实现内部组件的IUnknown接口
原文链接:https://www.f2er.com/javaschema/288117.html