Microsoft Component Object Model Interface

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Kolan (обсуждение | вклад) в 15:06, 20 мая 2006. Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

Интерфейс (Interface) - это набор операций, используемых для специфицирования услуг, предоставляемых классом или компонентом.

Интерфейс определяет границу между спецификацией того, что делает абстракция, и реализацией того, как она это делает.

Проще говоря, интерфейс - это контракт, который обязуется выполнить класс.


Интерфейсы в Delphi

В Delphi интерфейсы были введены для поддержки COM технологии фирмы Microsoft.


Интерфейсы в Delphi напоминают классы. Как все классы являются наследниками класса TObject, так все интерфейсы произходят от интерфейса IUnknown. Для работы с интерфейсами программисту необходимо приложить некоторые усилия, а именно создать и правильно реализовать методы: QueryInterface,_AddRef, _Release. Эта рутинная работа уже проделана в классе TInterfacedObject.

Пример объявления интерфейса:

 IMyInterface = interface
   procedure DoSomething;
 end;

Пример класса - наследника TInterfacedObject

 TMyClass = class(TInterfacedObject, IMyInterface)
   procedure DoSomething;
 end;

Так как интерфейс - это контракт, который нужно выполнить программо не компилируется пока в TMyClass не будет реализована procedure DoSomething;

Интерфейсы в UML

В UML интерфейсы изображаются как классы со стереотипом «interface». Либо в виде кружочков, в этом случае происходит подавление отображения содержашихся в интерфейсе операций.