Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

Разные интерфейсы с одинаковыми методами   Найти похожие ветки 

 
Michael   (2007-12-03 10:12) [0]

Здравствуйте, подскажите, пожалуйста, как можно реализовать объект, если он имеет два разных интерфейса с одинаковыми функциями?
Пример:

Int_1 = interface
 function My : BYTE; stdcall;
end;

Int_2 = interface
 function My : BYTE; stdcall;
end;

TMyObject = class (TInterfacedObject, Int_1, Int_2)
 // ...
 // реализация Int_1
 function My : BYTE; stdcall;
 // реализация Int_2
 function My : BYTE; stdcall;
 // ...
end;



Что делать в такой ситуации? Можно ли одной из функций назначить синоним и как это сделать?
Спасибо


 
MBo ©   (2007-12-03 10:37) [1]

function Int1.My = My1;
function Int2.My = My2;

в справке - Method resolution clauses


 
Michael   (2007-12-03 10:57) [2]

to MBo:
Спасибо, получилось.

Вопрос закрыт


 
Kolan ©   (2007-12-03 19:19) [3]

Это как запах «Alternative Classes with Different Interfaces»
только наоборот.

Переименуйте метод, так чтобы его имя отражало то, что он делает. А если они делают одно и тоже, то тут «Duplicate code»



Страницы: 1 вся ветка

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
2-1196826590
Ezorcist
2007-12-05 06:49
2007.12.30
Заголовок таблицы с объединенными ячейками.


6-1176750778
dRake
2007-04-16 23:12
2007.12.30
Нужна документация по сокетам (+)


2-1196692668
WFS
2007-12-03 17:37
2007.12.30
Несколько вопросов про картинки


2-1196848004
Тест_Новичок
2007-12-05 12:46
2007.12.30
Как сохранить результат SQL запроса в файл?


15-1196172466
Slider007
2007-11-27 17:07
2007.12.30
С днем рождения ! 27 ноября 2007 вторник