Вход


Главная страница >> Учебный процесс >> Конспекты >> Delphi. Поддержка технологий COM >> Object Pascal и COM >> Псевдоним метода

[Назад]    [Содержание ]    [Вперед]

  


Псевдоним метода


Иногда появляется еще одна проблема при реализации нескольких интерфейсов в одном классе, которая заключается в противоречии имен методов в одном или нескольких интерфейсах. Рассмотрим следующий фрагмент:

type
Iintf1 = interface
═════procedure AProc;
end;
Iintf2 = interface
═════procedure AProc;
end;

Каждый из описываемых интерфейсов содержит метод AProc(). Так как же объявить класс с реализацией подобных интерфейсов? Для этого необходимо использовать псевдоним метода {method aliasing). Псевдоним метода позволяет описать метод интерфейса в классе с различными именами. Рассмотрим фрагмент, описывающий объявление класса, который реализует интерфейсы IIntfl и IIntf2:

type
TNevClass = class(TInterfacedObject, IIntfl, IIntf2)
═════protected
═════procedure IIntf2.AProc = AProc2;
═════procedure AProc; //Связана с IIntfl .AProc
═════procedureAProc2; //Связана с IIntf2.Aproc
end;

В приведенном фрагменте метод АРгоc() интерфейса IIntf2 отображается на метод с именем AProc2(). Создание псевдонима в этом случае позволяет реализовать любой интерфейс в любом классе без конфликта имен методов.



[Назад]    [Содержание ]    [Вперед]

  


  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017