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

Вниз

Как бы сделать псевдо множественное наследование?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.028 c
2-1139486895
Dmitrij_K
2006-02-09 15:08
2006.02.26
MS Word, TypeText и ограничение 64кб


15-1139270635
pargo
2006-02-07 03:03
2006.02.26
Расширение .djvu. С чем его едят ?


2-1139219461
MAYDAY
2006-02-06 12:51
2006.02.26
Explorer грузит мою dll


3-1135859218
Igorioha
2005-12-29 15:26
2006.02.26
Объясните наконец про libmysql.dll!


1-1138270310
Nait
2006-01-26 13:11
2006.02.26
Как сделать процедуру OnButtonClick на клонированную кнопку