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

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

Требуется указать для поля родительский класс, от которого будут наследоваться всевозможные подклассы, которые будут приходить для данного поля.
Собственно проблема.
Если чётко указать, что поле имеет тип родительского класса, то дочерние классы уже не проходят. В языках с хорошим ООП, эта проблема решается использованием интерфейсов, как возможно решить проблему на Pascal?
  • Вопрос задан
  • 2376 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • ProductStar
    Python: навык ООП и функционального программирования
    1 месяц
    Далее
  • Учебный центр IBS
    ARC-005 Аналитические шаблоны
    1 неделя
    Далее
  • Skillfactory
    Разработчик игр на Unity
    18 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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;
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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