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 12

Comentarios

  1. El método area lee los propios width y height a través de sus accesores y los multiplica: para un rectángulo de 3 por 4, eso es 12.

  2. El método describe no repite ese cálculo. En su lugar llama a self.area, ejecutando el método area sobre 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.

Área del rectángulo   |   Conversión de temperatura