Операторы PASCAL ABC
Переопределение методов
Метод базового класса может быть переопределен (замещен) в подклассах. Если при этом требуется вызвать метод базового класса, то используется служебное слово inherited (англ.- унаследованный). Например:
type
Person=class
name: string;
age: integer;
constructor Create(nm: string; ag: integer);
begin
name:=nm; age:=ag;
end;
procedure Print;
begin
writeln('Имя: ',name,' Возраст: ',age);
end;
end;
Student=class(Person)
course, group: integer;
constructor Create(nm: string; ag,c,gr:
integer);
begin
inherited Create(nm,ag);
course:=c; group:=gr;
name:=nm; age:=ag;
end;
procedure Print;
begin
inherited Print;
writeln('Курс: ',course,' Группа: ',group);
end;
end;
Здесь метод Print производного класса Student вызывает вначале метод Print, унаследованный от базового класса Person, с помощью конструкции inherited Print. Аналогично конструктор Create класса Student вызывает вначале конструктор Create базового класса Person, также используя служебное слово inherited. Следует обратить внимание, что конструктор базового класса вызывается в этом случае как процедура, а не как функция, при этом создания нового объекта не происходит.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.