Menu
Coddy logo textTech

Récapitulatif - Shape Builder

Fait partie de la section Programmation Orientée Objet du Journey Dart de Coddy — leçon 16 sur 110.

challenge icon

Défi

Facile

Construisons une classe Rectangle qui rassemble toutes les techniques de constructeurs que vous avez apprises dans ce chapitre. Vous allez créer une classe de forme polyvalente qui peut être instanciée de plusieurs manières.

Vous organiserez votre code en deux fichiers :

  • rectangle.dart : Définissez une classe Rectangle avec les éléments suivants :
    • Deux champs final double : width et height
    • Deux champs calculés final double : area et perimeter
    • Un constructeur principal qui prend width et height, en utilisant une liste d'initialisation pour calculer area (width × height) et perimeter (2 × (width + height))
    • Un constructeur nommé Rectangle.square(double side) qui redirige vers le constructeur principal avec une largeur et une hauteur égales
    • Un constructeur nommé Rectangle.golden(double width) qui crée un rectangle en utilisant le nombre d'or (height = width × 1.618), en redirigeant vers le constructeur principal
    • Un constructeur constant Rectangle.unit() qui crée un rectangle de 1×1 (vous aurez besoin d'un constructeur const séparé pour cela)
    • Une méthode display() qui affiche les informations du rectangle
  • main.dart : Importez votre classe rectangle et créez quatre rectangles :
    • Un rectangle personnalisé avec une largeur de 4.0 et une hauteur de 3.0
    • Un carré avec un côté de 5.0
    • Un rectangle d'or avec une largeur de 10.0
    • Un rectangle unité utilisant le constructeur constant (créez-le comme une constante au moment de la compilation)
    Appelez display() sur chaque rectangle dans l'ordre listé ci-dessus.

La méthode display() doit afficher exactement ce format :

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

Résultat attendu :

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

Essayez vous-même

import 'rectangle.dart';

void main() {
  // TODO: Créer un rectangle personnalisé avec une largeur de 4.0 et une hauteur de 3.0

  // TODO: Créer un carré avec un côté de 5.0

  // TODO: Créer un rectangle d'or avec une largeur de 10.0

  // TODO: Créer un rectangle unitaire en utilisant le constructeur constant
  // (créez-le comme une constante au moment de la compilation en utilisant 'const')

  // TODO: Appeler display() sur chaque rectangle dans l'ordre indiqué ci-dessus
}

Toutes les leçons de Programmation Orientée Objet