Создать класс и его наследники. - PascalABC.NET
Формулировка задачи:
Создать класс животное, описать поля, методы и конструктор.
Создать классы волк, заяц, которые бы наследовали класс животное.
Создать класс лесной волк, лесной заяц, домашний заяц, которые бы наследовали классы волк и заяц соответственно.
Решение задачи: «Создать класс и его наследники.»
textual
Листинг программы
type
животное = class
продолжительностьЖизни : Byte;
среднийВес : Real;
constructor (L : Byte; V : Real);
begin
продолжительностьЖизни := L;
среднийВес := V;
end;
function информация : String;
begin
Result := 'продолжительность жизни: ' + продолжительностьЖизни.ToString +
' вес: ' + среднийВес.ToString;
end;
end;
type
волк = class(животное)
скорость : Real;
constructor (L : Byte; V : Real; S : Real);
begin
продолжительностьЖизни := L;
среднийВес := V;
скорость := S;
end;
function информацияLVS : String;
begin
Result := Self.информация +
' скорость: ' + скорость.ToString;
end;
end;
begin
var олень := животное.Create(15, 180);
WriteLn('Олень: ', олень.информация);
var волчара := волк.Create(12, 15, 40);
WriteLn('Волк: ', волчара.информацияLVS);
end.
Объяснение кода листинга программы
- Объявлен тип данных
животноес полямипродолжительностьЖизни(тип Byte) исреднийВес(тип Real). - В конструкторе типа
животноеинициализируются указанные поля. - Объявлена функция
информация, которая возвращает строку с данными о продолжительности жизни и весе. - Объявлен тип данных
волк, который является наследником типаживотноеи имеет дополнительное полескорость(тип Real). - В конструкторе типа
волкинициализируются указанные поля. - Объявлена функция
информацияLVS, которая возвращает строку с данными о продолжительности жизни, весе и скорости. - Создается экземпляр типа
животноес помощью методаCreateи выводится информация об этом экземпляре. - Создается экземпляр типа
волкс помощью методаCreateи выводится информация об этом экземпляре.