Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
ВнизКак бы сделать псевдо множественное наследование? Найти похожие ветки
← →
MegaVolt © (2006-01-25 17:22) [0]Привет.
Есть вопрос как такое делают:
Есть клас 1:
T1=class
public
OnSet:TSet;
OnGet:TGet;
procedure Start;
procedure Stop;
end;
где процедуры Start и Stop вызывают когда нужно OnSet и OnGet. Т.е. математика хранится в классе T1 а особенности реализации OnSet и OnGet хранятся отдельно. И если мне их нужно поменять то класс Е1 я не трогаю. Всё вроде здорово но вот я хочу сделать ещё один класс
T2=class(T3)
private
MyVar:T1;
public
procedure Run;
end;
процедура Run вызывает по необходимости Start и Stop из T1 и соответственно OnSet и OnGet
Как красиво передавать в T2 OnSet и OnGet особенно учитывая что от Е2 наследуются ещё классы и функция OnSet и OnGet определяется лишь в самом последнем потомке.
Если бы просто нужно было наплодить наследников от T1 то задал бы функцию abstract а в потомке определил бы функцию и ладушки. А тут T1 входит как переменная :(
Можно конечно написать
public MyVar
но как то неохота чтобы она была доступна для потомков со всеми её функциями.
← →
MegaVolt © (2006-01-26 10:00) [1]Утро вечера мудренее :)
Нашел аж 2 достаточно красивых решения.
Всем спасибо :)
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.02.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c