Menu
Coddy logo textTech

Resumen - Constructor de formas

Parte de la sección Programación Orientada a Objetos del Journey de Dart de Coddy. Lección 16 de 110.

challenge icon

Desafío

Fácil

Construyamos una clase Rectangle que reúna todas las técnicas de constructores que has aprendido en este capítulo. Crearás una clase de formas versátil que se puede instanciar de varias maneras.

Organizarás tu código en dos archivos:

  • rectangle.dart: Define una clase Rectangle con lo siguiente:
    • Dos campos final double: width y height
    • Dos campos final double calculados: area y perimeter
    • Un constructor principal que recibe width y height, usando una lista de inicialización para calcular area (width × height) y perimeter (2 × (width + height))
    • Un constructor con nombre Rectangle.square(double side) que redirige al constructor principal con el mismo ancho y alto
    • Un constructor con nombre Rectangle.golden(double width) que crea un rectángulo usando la proporción áurea (height = width × 1.618), redirigiendo al constructor principal
    • Un constructor constante Rectangle.unit() que crea un rectángulo de 1×1 (necesitarás un constructor const independiente para esto)
    • Un método display() que imprime la información del rectángulo
  • main.dart: Importa tu clase de rectángulo y crea cuatro rectángulos:
    • Un rectángulo personalizado con un ancho de 4.0 y un alto de 3.0
    • Un cuadrado con un lado de 5.0
    • Un rectángulo áureo con un ancho de 10.0
    • Un rectángulo unitario usando el constructor constante (créalo como una constante de tiempo de compilación)
    Llama a display() en cada rectángulo en el orden indicado arriba.

El método display() debe imprimir con este formato exacto:

Rectangle [width]x[height] | Area: [area] | Perimeter: [perimeter]

Salida esperada:

Rectangle 4.0x3.0 | Area: 12.0 | Perimeter: 14.0
Rectangle 5.0x5.0 | Area: 25.0 | Perimeter: 20.0
Rectangle 10.0x16.18 | Area: 161.8 | Perimeter: 52.36
Rectangle 1.0x1.0 | Area: 1.0 | Perimeter: 4.0

Pruébalo tú mismo

import 'rectangle.dart';

void main() {
  // TODO: Crea un rectángulo personalizado con un ancho de 4.0 y una altura de 3.0

  // TODO: Crea un cuadrado con un lado de 5.0

  // TODO: Crea un rectángulo áureo con un ancho de 10.0

  // TODO: Crea un rectángulo unitario usando el constructor constante
  // (créalo como una constante en tiempo de compilación usando 'const')

  // TODO: Llama a display() en cada rectángulo en el orden indicado anteriormente
}

Todas las lecciones de Programación Orientada a Objetos

Practica por tu cuenta: Compilador de Dart online