Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Расскажите о механизме интерфейсов в Delphi




Ответ: Интерфейсы в Delphi аналогичны классам, не имеющим свойств, и

все методы которых абстрактны. Для идентификации интерфейса, его опи-

сание может включать в себя указание глобального уникального иденти-

фикатора — GUID. Описание интерфейса выглядит следующим образом:

Туре

<Название интерфейса> = Interface(<Название родительс-

кого интерфейса>);

[Л{хххххххх-хххх-хххх-хххх-хххххххххххх}' ]

Оаголовок метода 1>;

<3аголовок метода N>;

end;

Механизм интерфейсов позволяет частично осуществлять множественное

наследование, то есть создание класса на основе одного родительского

класса и нескольких интерфейс'ов. Для этого стандартное описание клас-

са расширено, и в его заголовке после родительского класса указывается

список реализуемых интерфейсов:

Туре

<Название класса> = class (<Родительский класО,

<Интерфейс 1>,..., <Интерфейс

<Свойства>

<3аголовки методов, описанные в интерфейсах>

Заголовки собственных методов>

Заголовки переопределенных методов родительского класса>

end;

Если в заголовке класса указаны интерфейсы, которые он реализует, то

все методы этих интерфейсов должны быть либо описаны полностью, либо

указаны в интерфейсной части описания класса, как абстрактные.

 

Расскажите об интерфейсах (Interface и (Unknown))

Ответ: Интерфейсы, так же как и классы, поддерживают наследование, то

есть класс, реализующий некоторый интерфейс, должен описать все ме-

тоды, заявленные и в нем самом, и заявленные в его родительском ин-

терфейсе. Если интерфейс описывается без указания родительского ин-

терфейса, то его родителем считается интерфейс (Interface.)

В данном интерфейсе описаны методы _AddRef и _Release, поддержи-

вающие работу со ссылками на экземпляры классов, реализующих интер-

фейсы, и, фактически, обеспечивающие счетчик использования экземпля-

ров класса. При первом обращении к интерфейсу (создании объекта,

реализующего данный интерфейс) счетчик устанавливается на 1, далее, при

последующих обращениях, увеличивается методом _AddRef, а при разру-

шении уменьшается методом _Release.

Еще одна важная функция базового интерфейса llnterface — определение

информации о других интерфейсах, реализуемых классом.

Для объектов, которые необходимо использовать для реализации в про-

грамме технологии СОМ, используется другой базовый интерфейс, полно-

стью совпадающий с llnterface по методам — lUnknown.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных