维基百科的COM文章对这个问题不太明确。可能有没有人能够给出一个适合COM初学者的解释,或者提供相同内容的文章链接。
这让我以以下方式思考:
对我而言,COM类是实现某个接口的类的实例。只要它按预期工作,我不需要知道实现方式。此外,COM类不依赖于语言 - 它是方法的描述。
Co-Class是一个实际的实现,在请求COM类时进行实例化。
例如:COM类可以定义加密或解密数据的方法。可能会有两个Co-Class,每个类都使用特殊的加密算法。
coclass
只是一个类的类型库声明。对于类实现的接口没有任何假设(除了可能是 IUnknown
,否则该类就没有意义),但是如果声明引用类型库中的某些接口,则预期实际实例将实现这些接口。
COM 类(coclass)是……