1.COM支持继承吗?
继承,这一面向对象编程中被经常提及的简单概念,在学习COM的过程使我又犯了迷糊。
单从表面看COM似乎是不符合面向对象的规则的,因为他没有继承基类的任何实现,那,COM支持继承吗?究竟什么是继承?
答案是:继承分两类:实现继承和接口继承,而COM支持的是接口的继承
2.接口继承和实现继承的区别?
在设计一个CLASS的时候,我们有时候需要派生类继承基类的函数接口,有时候需要派生类既继承基类的函数接口又继承函数实现并且可以再派生类中替换实现,有时候又需要派生类继承基类的函数接口和实现但有不允许替换实现。
对于COM而言,组件和客户应该是分离的,对于组件的修改应该不影响客户的使用,显然实现继承提供不了这样的保证。被COM用来实现接口的是抽象基类,它是一种接口继承,对对于派生类也就是组件施加了强有力的影响,使得COM组件的实现和客户完全的分离!这是构造强壮系统的保证!
下面是一篇幅介绍接口继承和函数继承的很好的文章:
http://dev.yesky.com/218/2145218.shtml