Глава 5 Основы объектно-ориентированного программирования
____________________________________________________________________
Professor.fam:= 'Иванов';
Professor.kafedra:='Программирование';
fname:= Professor.GetData;
writeln(UTF8ToConsole('Это: ' + fname)); writeln(UTF8ToConsole('Нажмите любую клавишу'));
readkey;
Student.Free;
end.
5.5. Полиморфизм
Во всех примерах раздела 5.4. мы использовали метод GetData родитель-
ского класса. Но он возвращает только значения полей name и fam. Поэтому,
несмотря на то, что мы в программе указывали значения полей group и kafedra, они на экран не выводились. Как же вывести значения этих полей?
Решение заключается в написании соответствующего метода в дочернем классе. Причем мы вольны присваивать этому методу любое имя. Например,
мы можем написать методы:
function TStudent.A: string; begin
Result:= name + ' ' + fam + ', группа ' + group; end;
function TProfessor.B: string; begin
Result:= name + ' ' + fam + ', кафедра ' + kafedra; end;