维基百科COM的文章在这个问题上含糊其辞。
有人能给出一个适合COM初学者的解释吗?或者提供相同解释的文章链接。
它帮助我以以下方式思考它:
对我来说,COM类是实现某个接口的类的实例。我不需要知道实现是如何完成的,只要它按预期工作即可。此外,COM类不依赖于语言,它是对方法的描述。
Co-Class是在请求COM类时实例化的实际实现。
例如:COM类可以定义加密或解密数据的方法。可能有两个Co-Classes,每个Co-Classe用于一种特殊的加密算法。
coclass
不过是一个类的类型库声明。对类实现的接口没有任何假设(可能不是IUnknown
,或者该类没有意义),但是,如果声明引用了类型库中的某些接口,那么实际实例将实现这些接口。
为了回答您的确切问题,coclass代表"组件对象类";它和"COM类"是一样的。你的维基百科链接准确地回答了这个问题:
COM类(coclass)是…