Menu
Coddy logo textTech

Rückblick – Shape Builder

Teil des Abschnitts Objektorientierte Programmierung der Dart-Journey von Coddy. Lektion 16 von 110.

challenge icon

Aufgabe

Einfach

Erstellen wir eine Rectangle-Klasse, die alle Konstruktor-Techniken zusammenführt, die du in diesem Kapitel gelernt hast. Du erstellst eine vielseitige Formklasse, die auf mehrere Arten instanziiert werden kann.

Du organisierst deinen Code in zwei Dateien:

  • rectangle.dart: Definiere eine Rectangle-Klasse mit folgenden Bestandteilen:
    • Zwei final double-Felder: width und height
    • Zwei berechnete final double-Felder: area und perimeter
    • Einen Hauptkonstruktor, der width und height entgegennimmt und eine Initialisierungsliste verwendet, um area (width × height) und perimeter (2 × (width + height)) zu berechnen
    • Einen benannten Konstruktor Rectangle.square(double side), der mit gleicher Breite und Höhe an den Hauptkonstruktor weiterleitet
    • Einen benannten Konstruktor Rectangle.golden(double width), der mithilfe des Goldenen Schnitts ein Rechteck erstellt (height = width × 1.618) und an den Hauptkonstruktor weiterleitet
    • Einen konstanten Konstruktor Rectangle.unit(), der ein 1×1-Rechteck erstellt (dafür benötigst du einen separaten const-Konstruktor)
    • Eine display()-Methode, die die Informationen des Rechtecks ausgibt
  • main.dart: Importiere deine Rechteckklasse und erstelle vier Rechtecke:
    • Ein benutzerdefiniertes Rechteck mit der Breite 4.0 und der Höhe 3.0
    • Ein Quadrat mit der Seitenlänge 5.0
    • Ein goldenes Rechteck mit der Breite 10.0
    • Ein Einheitsrechteck mithilfe des konstanten Konstruktors (erstelle es als Kompilierzeitkonstante)
    Rufe display() für jedes Rechteck in der oben aufgeführten Reihenfolge auf.

Die display()-Methode sollte exakt in diesem Format ausgeben:

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

Erwartete Ausgabe:

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

Probier es selbst

import 'rectangle.dart';

void main() {
  // TODO: Erstelle ein benutzerdefiniertes Rechteck mit der Breite 4.0 und der Höhe 3.0

  // TODO: Erstelle ein Quadrat mit der Seitenlänge 5.0

  // TODO: Erstelle ein Goldenes Rechteck mit der Breite 10.0

  // TODO: Erstelle ein Einheitsrechteck unter Verwendung des konstanten Konstruktors
  // (erstelle es als Compile-Zeit-Konstante unter Verwendung von 'const')

  // TODO: Rufe display() für jedes Rechteck in der oben aufgeführten Reihenfolge auf
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Dart-Compiler