Курс языка программирования Raku / Объекты, ввод-вывод и исключения / Классы и объекты / Наследование / Exercises / Фигура и квадрат
Решение: Фигура и квадрат
Вот один из возможных вариантов решения задачи.
Код
class Shape {
method name {
'shape';
}
method describe {
'I am a ' ~ self.name;
}
}
class Square is Shape {
method name {
'square';
}
}
say Square.new.describe;🦋 Исходный код можно найти в файле shape-and-square.raku.
Вывод
I am a squareКомментарии
SquareнаследуетdescribeотShapeи переопределяет толькоname.describeвызываетself.name, который подхватывает переопределённыйname, поэтому в описании говоритсяsquare, а неshape.