Microsoft Component Object Model Interface

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

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

Интерфейс задаётся абстрактным классом и реализуется другими, конкретными.

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


Интерфейсы в 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». Либо в виде кружочков, в этом случае происходит подавление отображения содержашихся в интерфейсе операций.

Изображение интерфейса и реализующего его класса в Together

См. также