![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Разные интерфейсы с одинаковыми методами [D7, WinXP]
Michael © (2007-12-03 10:12:00)Здравствуйте, подскажите, пожалуйста, как можно реализовать объект, если он имеет два разных интерфейса с одинаковыми функциями?
Пример:
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;
Что делать в такой ситуации? Можно ли одной из функций назначить синоним и как это сделать?
Спасибо
Kolan (2007-12-03 19:19:00) [1]Это как запах
«Alternative Classes with Different Interfaces»
только наоборот.
Переименуйте метод, так чтобы его имя отражало то, что он делает. А если они делают одно и тоже, то тут«Duplicate code»
Michael (2007-12-03 10:57:00) [2]to MBo:
Спасибо, получилось.
Вопрос закрыт
MBo (2007-12-03 10:37:00) [3]function Int1.My = My1;
function Int2.My = My2;
в справке - Method resolution clauses