Теория состоит в том, чтобы отделить интерфейс (что может сделать объект) от реализации (как он это делает или, более конкретно, какой конкретный код создается для этого).
Определение типов только как позволяет интерфейсCOM, чтобы указать, как взаимодействуют объекты на нескольких языках;это одна из его главных целей.Поскольку спецификация интерфейса является договором о том, как передавать данные и вызывать методы, любой язык может предоставить COM-объект, не требуя от клиентов знать о внутренней работе разработчика (CoClass).
Это позволяет VB6,.net, C ++, deplhi и любое количество других языков для взаимодействия в одном приложении.
Статья в Википедии о COM имеет хороший опыт в этом отношении.