Курс по 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.