初学COM编程的朋友通常会被类,接口与动态链接库三者之间的关系弄得一头雾水!COM的实现是以DLL为载体,COM通过接口与客户程序通讯,接口必须委托给类现;有的朋友是否曾经想过将类封装到动态链接库中,但DLL中只有导出函数才能被外部程序所访问,这样一来,有些朋友就不知该怎么办了。其实,只要理解了这三者之间的微妙关系,在学习COM的过程中就会事半功倍,同时也能深刻体会三者相互配合的强大作用。
类与接口都是抽象的概念,是面向对象编程思想的产物,而动态链接库则是二进制执行文件,由客户程序映射到自已的虚地址空间运行!
类封装了数据及方法,而接口则可认为是一种调用约定。
接口只能定义方法,但不能实现,接口必须由类来实现,类真正定义了数据,实现了方法,
在Delphi的Object Pascal语法中,类不能多重继承,只能由根类TObject及其子类派生;而所有的接口必须继承IUnknown接口(这一点与Pascal语法并无关系),并且支持多重继承。