转自:https://blog.csdn.net/lemonbox/article/details/5753184
听了,学了,用了很多COM、OLE、ActiveX的技术,但是一直是一团模糊的概念,只知道这三样东西都是一路货色,但是具体有什么区别呢,没有去深究,今天心血来潮,上网查了一些资料,终于有点清楚了~~~
得到的结论就是:COM、OLE、ActiveX的的确确是一路货色!!!虽然说的有些武断,但我只是将人们对COM、OLE、ActiveX最广泛的理解表达出来,三者之间还是很大区别的,具体渊源后面讲。
一、组件(Component)和对象(Object)之间的区别。
网上找的:组件是一个可重用的模块,它是由一组处理过程、数据封装和用户接口组成的业务对象 (Rules Object)。组件看起来像对象,但不符合对象的学术定义。它们的主要区别是:
1)组件可以在另一个称为容器(有时也称为承载者或宿主)的应用程序中使用,也可以作为独立过程使用;
2)组件可以由一个类构成,也可以由多个类组成,或者是一个完整的应用程序;
3)组件为模块重用,而对象为代码重用。
以我自己理解,两者最大的区别就是第三点,前两个区别只能说是抽象的层次不一样,都是过程和数据的封装而已。或者换个说法更清楚