Menu
Coddy logo textTech

Riepilogo - Crea forme

Fa parte della sezione Programmazione orientata agli oggetti del percorso Dart di Coddy. Lezione 16 di 110.

challenge icon

Sfida

Facile

Costruiamo una classe Rectangle che riunisce tutte le tecniche per i costruttori che hai imparato in questo capitolo. Creerai una classe versatile per le forme, che può essere istanziata in diversi modi.

Organizzerai il codice in due file:

  • rectangle.dart: definisci una classe Rectangle con quanto segue:
    • Due campi final double: width e height
    • Due campi calcolati final double: area e perimeter
    • Un costruttore principale che accetta width e height e usa una lista di inizializzazione per calcolare area (width × height) e perimeter (2 × (width + height))
    • Un costruttore con nome Rectangle.square(double side) che reindirizza al costruttore principale con larghezza e altezza uguali
    • Un costruttore con nome Rectangle.golden(double width) che crea un rettangolo usando il rapporto aureo (height = width × 1.618) e reindirizza al costruttore principale
    • Un costruttore costante Rectangle.unit() che crea un rettangolo 1×1 (per questo ti servirà un costruttore const separato)
    • Un metodo display() che stampa le informazioni sul rettangolo
  • main.dart: importa la classe del rettangolo e crea quattro rettangoli:
    • Un rettangolo personalizzato con larghezza 4.0 e altezza 3.0
    • Un quadrato con lato 5.0
    • Un rettangolo aureo con larghezza 10.0
    • Un rettangolo unitario usando il costruttore costante (crealo come costante a tempo di compilazione)
    Chiama display() su ciascun rettangolo nell'ordine elencato sopra.

Il metodo display() dovrebbe stampare esattamente in questo formato:

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

Output previsto:

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

Provalo tu

import 'rectangle.dart';

void main() {
  // TODO: Crea un rettangolo personalizzato con larghezza 4.0 e altezza 3.0

  // TODO: Crea un quadrato con lato 5.0

  // TODO: Crea un rettangolo aureo con larghezza 10.0

  // TODO: Crea un rettangolo unitario usando il costruttore costante
  // (crealo come costante in fase di compilazione usando 'const')

  // TODO: Chiama display() su ogni rettangolo nell'ordine indicato sopra
}

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Dart online