Menu
Coddy logo textTech

Buch- und Benutzerklassen

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

challenge icon

Aufgabe

Einfach

In der vorherigen Lektion hast du eine Book-Klasse mit grundlegenden Eigenschaften und einer toString()-Methode erstellt. Jetzt ist es an der Zeit, dein Bibliothekssystem zu erweitern, indem du eine User-Klasse hinzufügst, die Bibliotheksmitglieder repräsentiert, die Bücher ausleihen können.

Du musst eine neue Datei erstellen und deine vorhandenen Dateien aktualisieren:

  • book.dart: Erweitere deine vorhandene Book-Klasse, indem du eine isAvailable-Eigenschaft (boolesch) hinzufügst, die standardmäßig auf true gesetzt wird. Damit wird verfolgt, ob ein Buch ausgeliehen werden kann.
  • user.dart: Erstelle eine neue User-Klasse, die Bibliotheksmitglieder repräsentiert. Jeder Benutzer sollte eine id (String), einen name (String) und eine borrowedBooks-Liste haben, die Book-Objekte enthält. Füge einen Konstruktor hinzu, der die ID und den Namen initialisiert und eine leere Liste für ausgeliehene Bücher verwendet. Überschreibe toString(), sodass das Format User [id]: name (X books borrowed) zurückgegeben wird, wobei X die Anzahl der ausgeliehenen Bücher ist.
  • main.dart: Importiere sowohl deine Buch- als auch deine Benuterdatei. Erstelle ein Buch mit der ISBN 978-0-13-468599-1, dem Titel The Pragmatic Programmer und dem Autor David Thomas. Erstelle einen Benutzer mit der ID U001 und dem Namen Alice Johnson. Gib das Buch aus und anschließend, ob es verfügbar ist, und zwar im Format Available: true oder Available: false. Gib den Benutzer aus. Füge dann das Buch zur Liste der ausgeliehenen Bücher des Benutzers hinzu, setze isAvailable des Buches auf false und gib den Benutzer erneut aus, um die aktualisierte Anzahl der Bücher anzuzeigen.

Damit wird die Beziehung zwischen Büchern und Benutzern hergestellt, auf der du in der nächsten Lektion beim Implementieren des vollständigen Ausleihsystems aufbauen wirst!

Erwartete Ausgabe:

[978-0-13-468599-1] The Pragmatic Programmer by David Thomas
Available: true
User U001: Alice Johnson (0 books borrowed)
User U001: Alice Johnson (1 books borrowed)

Probier es selbst

import 'book.dart';
// TODO: Importiere user.dart

void main() {
  // TODO: Erstelle ein Buch mit der ISBN '978-0-13-468599-1', dem Titel 'The Pragmatic Programmer' und dem Autor 'David Thomas'
  
  // TODO: Erstelle einen Benutzer mit der id 'U001' und dem Namen 'Alice Johnson'
  
  // TODO: Gib das Buch aus
  
  // TODO: Gib aus, ob das Buch verfügbar ist, verwende das Format: Available: true/false
  
  // TODO: Gib den Benutzer aus
  
  // TODO: Füge das Buch zur Liste borrowedBooks des Benutzers hinzu
  
  // TODO: Setze isAvailable des Buches auf false
  
  // TODO: Gib den Benutzer erneut aus, um die aktualisierte Anzahl der Bücher anzuzeigen
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Dart-Compiler