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

Вниз

Классы   Найти похожие ветки 

 
Belorus ©   (2007-04-14 08:34) [0]

Есть массив элементов TMyClass...
Каждый элемент если точно является наследником этого класса, то есть является либо TMySubclass1 либо TMySubclass2..

У обеих субклассов есть метод Method1 с одинаковыми аргументами, но с разным кодом. У класса TMyClass этого метода нету.

Как мне вызвать этот метод у всех элементов массива, если подклассов будет скажем не 2 а 2000 ? Можно ли как нибудь объяснить компилятору, что у всех субклассов TMyClass есть этот метод , и соответственно не делать такую процедуру



If Array1[Temp] is TMySubclass1 then TMySubclass1.Method1;
If Array1[Temp] is TMySubclass2 then TMySubclass2.Method1;
If Array1[Temp] is TMySubclass3 then TMySubclass3.Method1;


 
MBo ©   (2007-04-14 08:49) [1]

Сделать промежуточный класс с виртуальным абстрактным методом Method1, подклассы наследовать от него, и в кажом реализовать этот перекрытый метод.


 
Kolan ©   (2007-04-14 10:13) [2]

> Сделать промежуточный класс с виртуальным абстрактным методом
> Method1

А почему бы не сделать тоже самое, но без промежуточного класса? Те прям в предке&#133


 
_Аноним   (2007-04-14 10:59) [3]


>  У класса TMyClass этого метода нету.


Сделай его TMyClass, но абстрактным (без реализации) ,а в потомках переопредели.



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

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

Наверх




Память: 0.47 MB
Время: 0.021 c
1-1173602376
Makhanev Alexander
2007-03-11 11:39
2007.05.06
Диалог выбора пользователя....


2-1176840303
Михась
2007-04-18 00:05
2007.05.06
В каждой строке матрицы А(8,12) вместо минимального элемента запи


11-1156441224
NORDmen
2006-08-24 21:40
2007.05.06
нужно сделать zip архив из kol программы


2-1176584879
Ezorcist
2007-04-15 01:07
2007.05.06
Как правильно вести лог событий работы программы?


2-1176743081
..::KraN::..
2007-04-16 21:04
2007.05.06
Закрытие TOpenDialog