Задать вопрос

Как ожидать всех возможных потомков класса Pascal?

Требуется указать для поля родительский класс, от которого будут наследоваться всевозможные подклассы, которые будут приходить для данного поля.
Собственно проблема.
Если чётко указать, что поле имеет тип родительского класса, то дочерние классы уже не проходят. В языках с хорошим ООП, эта проблема решается использованием интерфейсов, как возможно решить проблему на Pascal?
  • Вопрос задан
  • 2376 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python: навык ООП и функционального программирования
    1 месяц
    Далее
  • Stepik
    Python OOP от Python_Samurai
    2 недели
    Далее
  • Учебный центр IBS
    JVA-I-001 Java: ООП и функциональная парадигма
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Если чётко указать, что поле имеет тип родительского класса, то дочерние классы уже не проходят.

Почему не проходят ? Приведите, пожалуйста, пример кода ...
type TParent=class
             end;

type TChild=class(TParent)
            end;

type TController=class
         private
          fClass:TParent;
          public
       procedure ProcessAnyChild(aClass:TParent);
                 end;

procedure Test();
var child:TChild;
    controller:TController;
begin
child := TChild.Create();
controller := TController.Create();
controller.ProcessAnyChild(child)
end;

procedure TController.ProcessAnyChild(aClass: TParent);
begin
fClass:=aClass
end;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы