Придется поведать мне, естественно с позиции моего понимания.
Ну и в качестве примеров те, которые уже приведены в теме. Ну и для начала ответить на такие вопросы. Если взять и разложить обычный, всем хорошо знакомый класс VB6 на атомы, что можно из него вычленить. Т.е., что есть сам класс, сколько их, что есть интерфейсы и сколько их, и сколько вообще их может быть

. Так вот у стандартного класса VB6 класс всегда и при всех обстоятельствах всегда один, а вот интерфейсов у него может быть 2 и более. Если просто создать пустой класс, без единой строчки кода, то мы уже будем иметь 1 класс и 3 интерфейса, а точнее
Class1 - Класс
IUnknown - Интерфейс
IDispatch - Интерфейс
Class1 - - ИнтерфейсПричем имя последнего интерфейса будет совпадать с именем класса и на данный момент интерфейс фактически пока будет пустым.
А можно добавить еще интерфейсов? Да запросто. Для этого
Implements то собственно и предназначен. Т.е. делая объявление
Implements Interface мы просто сообщаем компилятору, о том, что этот класс будет дополнительно к имеющимся будет поддерживать (реализовывать) еще и объявленный интерфейс. Сам интерфейс может быть объявлен как в модуле класса, тогда его имя будет совпадать с именем этого модуля, так и в TLB, и тогда имя можно вообще задать произвольное. Хорошо объявили новый интерфейс, но этого явно недостаточно. Ибо любой интерфейс имеет вполне определенный набор свойств, методов и у каждого могут быть свои аргументы и т.п. Таким образом необходимо в точности повторить структуру того интерфейса, который имплементируется. Как минимум должно быть объявление всех свойств и методов интерфеса. Ну а далее... Далее начинается его реализация т.е. наполнение объявленных свойств и методов соответствующим кодом. Ну вот пока все. Потом дополню.