Curso de Raku / Objetos, entrada/salida y excepciones / Clases y objetos / Métodos / Exercises / Área del rectángulo
Solución: Área del rectángulo
Aquí tienes una posible solución para la tarea.
Código
class Rectangle {
has $.width;
has $.height;
method area {
$.width * $.height;
}
method describe {
"area is " ~ self.area;
}
}
say Rectangle.new(width => 3, height => 4).describe;🦋 Puedes encontrar el código fuente en el archivo rectangle-area.raku.
Salida
area is 12Comentarios
El método
arealee los propioswidthyheighta través de sus accesores y los multiplica: para un rectángulo de3por4, eso es12.El método
describeno repite ese cálculo. En su lugar llama aself.area, ejecutando el métodoareasobre el mismo objeto y reutilizando su resultado. Construir así un comportamiento mayor a partir de métodos más pequeños mantiene a cada método responsable de una sola cosa.