Menu
Coddy logo textTech

Récapitulatif - Constructeur de formes

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 construction que tu as apprises dans ce chapitre. Tu vas créer une classe de formes polyvalente qui peut être instanciée de plusieurs façons.

Tu vas organiser ton code en deux fichiers :

  • rectangle.dart : définis une classe Rectangle avec les éléments suivants :
    • Deux champs final double : width et height
    • Deux champs final double calculés : 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 (tu auras besoin d'un constructeur const séparé pour cela)
    • Une méthode display() qui affiche les informations du rectangle
  • main.dart : importe ta classe rectangle et crée quatre rectangles :
    • Un rectangle personnalisé avec une largeur 4.0 et une hauteur 3.0
    • Un carré de côté 5.0
    • Un rectangle doré d'une largeur de 10.0
    • Un rectangle unité utilisant le constructeur constant (crée-le comme une constante évaluée à la compilation)
    Appelle display() sur chaque rectangle dans l'ordre indiqué ci-dessus.

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

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

Entraînez-vous par vous-même : Compilateur Dart en ligne