Menu
Coddy logo textTech

Grundlagen von Konstruktoren

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

Ein Konstruktor ist eine spezielle Methode, die automatisch ausgeführt wird, wenn du ein neues Objekt erstellst. Er initialisiert die Instanzvariablen des Objekts genau im Moment der Erstellung.

Hier ist ein Beispiel für eine Klasse mit einem Konstruktor:

class Dog {
  String name;
  String breed;

  Dog(String name, String breed) {
    this.name = name;
    this.breed = breed;
  }
}

Der Konstruktor hat denselben Namen wie die Klasse. Parameter werden beim Erstellen des Objekts übergeben.

Erstelle Objekte, indem du Argumente an den Konstruktor übergibst:

Dog rex = Dog('Rex', 'German Shepherd');
Dog buddy = Dog('Buddy', 'Golden Retriever');

Greife auf die vom Konstruktor festgelegten Variablen zu:

print(rex.name);
print(rex.breed);
print(buddy.name);
print(buddy.breed);

Ausgabe:

Rex
German Shepherd
Buddy
Golden Retriever

Dart bietet außerdem eine Kurzschreibweise für Konstruktoren, bei der this.variableName direkt in der Parameterliste verwendet wird:

class Dog {
  String name;
  String breed;

  // Kurzschreibweise: weist Parameter automatisch Instanzvariablen zu
  Dog(this.name, this.breed);
}

Beide Versionen erzeugen dasselbe Ergebnis. Die Kurzschreibweise ist eine beliebte Dart-Funktion, die das manuelle Schreiben von this.name = name überflüssig macht.

Du kannst auch Standardwerte für parameter festlegen:

class Cat {
  String name;
  int age;

  Cat(this.name, [this.age = 1]); // age ist standardmäßig 1
}

Cat fluffy = Cat('Fluffy', 3);
Cat whiskers = Cat('Whiskers'); // age ist standardmäßig 1

print('${fluffy.name} is ${fluffy.age}');    // Fluffy ist 3
print('${whiskers.name} is ${whiskers.age}'); // Whiskers ist 1

Wichtiger Punkt: Konstruktoren stellen sicher, dass jedes Objekt im Moment seiner Erstellung ordnungsgemäß mit Daten initialisiert wird, sodass du Variablen nicht anschließend manuell festlegen musst.

challenge icon

Aufgabe

Einfach

Dir werden PHP-Dateien (book.dart und driver.dart) bereitgestellt, um ein Büchersystem zu implementieren.

Deine Aufgaben:

  • Vervollständige die Book-Klasse in book.dart, indem du einen Konstruktor hinzufügst, der title, author und pages initialisiert: Verwende die Dart-Kurzschreibweise Book(this.title, this.author, this.pages);
  • Erstelle in driver.dart ein Book-Objekt für 'Harry Potter' von 'J.K. Rowling' mit 400 Seiten

Folge den TODO-Kommentaren in jeder Datei.

REQUIRED OUTPUT FORMAT: [Your translated content here]

Probier es selbst

import 'book.dart';

void main() {
  // TODO: Erstelle ein Book-Objekt mit:
  // title: 'Harry Potter', author: 'J.K. Rowling', pages: 400
  Book myBook = ?;

  print("'${myBook.title}' by ${myBook.author}, ${myBook.pages} pages");
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Dart-Compiler