COM类和CoClasses之间有什么区别

时间:2012-02-08 15:01:46

标签: windows oop com

Wikipedia COM article在涉及此问题时含糊不清。

任何人都可以提供适合COM初学者的解释,或提供相同的文章链接。

3 个答案:

答案 0 :(得分:1)

它帮助我以下列方式思考:

对我来说,COM类是实现某个接口的类的实例。我不需要知道实现是如何完成的,只要它按预期工作即可。此外,COM类不依赖于语言 - 它是方法的描述。

Co-Class是在请求COM类时实例化的实际实现。

例如:COM类可以定义加密或解密数据的方法。可能有两个Co-Classes,每个Co-Classes用于特殊的加密算法。

答案 1 :(得分:1)

coclass只不过是类的类型库声明。对类实现的接口没有假设(除了IUnknown之外,或者类没有意义),但是如果声明引用了类型库中的某些接口,那么实际的实例应该实现这些接口。

答案 2 :(得分:0)

为了回答你的确切问题,coclass代表“组件对象类”;它与“COM类”是一回事。您的维基百科链接完全回答:

  

COM类(coclass)是......