Menu
Coddy logo textTech

Zusammenfassung – Shape Builder

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

challenge icon

Aufgabe

Einfach

Lassen Sie uns eine Rectangle-Klasse erstellen, die alle Konstruktor-Techniken vereint, die Sie in diesem Kapitel gelernt haben. Sie werden eine vielseitige Form-Klasse erstellen, die auf verschiedene Arten instanziiert werden kann.

Sie werden Ihren Code in zwei Dateien organisieren:

  • rectangle.dart: Definieren Sie eine Rectangle-Klasse mit Folgendem:
    • Zwei final double Felder: width und height
    • Zwei berechnete final double Felder: area und perimeter
    • Ein Hauptkonstruktor, der width und height entgegennimmt und eine Initialisierungsliste verwendet, um area (width × height) und perimeter (2 × (width + height)) zu berechnen
    • Ein benannter Konstruktor Rectangle.square(double side), der mit gleicher Breite und Höhe an den Hauptkonstruktor weiterleitet
    • Ein benannter Konstruktor Rectangle.golden(double width), der ein Rechteck unter Verwendung des Goldenen Schnitts (height = width × 1.618) erstellt und an den Hauptkonstruktor weiterleitet
    • Ein konstanter Konstruktor Rectangle.unit(), der ein 1×1 Rechteck erstellt (hierfür benötigen Sie einen separaten const-Konstruktor)
    • Eine display() Methode, welche die Informationen des Rechtecks ausgibt
  • main.dart: Importieren Sie Ihre Rectangle-Klasse und erstellen Sie 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 unter Verwendung des konstanten Konstruktors (erstellen Sie es als Compile-Zeit-Konstante)
    Rufen Sie display() für jedes Rechteck in der oben aufgeführten Reihenfolge auf.

Die display() Methode sollte in genau diesem Format drucken:

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