Menu
Coddy logo textTech

Administrationsoberfläche

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

challenge icon

Aufgabe

Einfach

In der vorherigen Lektion hast du deiner Library-Klasse eine Suchfunktion hinzugefügt. Jetzt erstellen wir eine Admin-Oberfläche, mit der privilegierte Benutzer den Bestand der Bibliothek verwalten können – neue Bücher hinzufügen und vorhandene entfernen.

Du führst eine neue Admin-Klasse ein und erweiterst deine Library um administrative Funktionen:

  • book.dart: Behalte deine vorhandene Book-Klasse unverändert bei.
  • user.dart: Behalte deine vorhandene User-Klasse unverändert bei.
  • admin.dart: Erstelle eine neue Admin-Klasse, die Bibliotheksadministratoren repräsentiert. Ein Administrator hat eine id (String) und einen name (String). Überschreibe toString(), sodass Admin [id]: name zurückgegeben wird.
  • library.dart: Füge deiner Library-Klasse administrative Funktionen hinzu:
    • Füge eine Liste hinzu, in der registrierte Administratoren gespeichert werden
    • registerAdmin(Admin admin) – fügt einen Administrator zur Bibliothek hinzu
    • addBookAsAdmin(String adminId, Book book) – wenn der Administrator existiert, wird das Buch hinzugefügt und adminId added "title" ausgegeben. Wenn der Administrator nicht existiert, gib Unauthorized aus.
    • removeBook(String adminId, String isbn) – wenn der Administrator und das Buch existieren, wird das Buch aus der Bibliothek entfernt und adminId removed "title" ausgegeben. Wenn der Administrator nicht existiert, gib Unauthorized aus. Wenn das Buch nicht existiert, gib Book not found aus.
    • getBookCount() – gibt die Gesamtzahl der Bücher in der Bibliothek zurück
  • main.dart: Demonstriere die Admin-Oberfläche. Erstelle eine Library und registriere einen Administrator (A001, Sarah Admin). Verwende den Administrator, um drei Bücher hinzuzufügen:
    • 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
    • 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
    • 978-0-13-235088-4, Clean Code, Robert Martin
    Gib die Anzahl der Bücher als Total books: X aus. Versuche anschließend, mit der nicht registrierten Administrator-ID A999 ein Buch hinzuzufügen. Entferne das zweite Buch mit dem registrierten Administrator. Gib die endgültige Anzahl der Bücher aus.

Erwartete Ausgabe:

A001 added "The Pragmatic Programmer"
A001 added "JavaScript: The Good Parts"
A001 added "Clean Code"
Total books: 3
Unauthorized
A001 removed "JavaScript: The Good Parts"
Total books: 2

Probier es selbst

import 'book.dart';
import 'user.dart';
import 'library.dart';
import 'admin.dart';

void main() {
  // TODO: Erstelle eine Library
  
  // TODO: Erstelle und registriere einen Admin (A001, Sarah Admin)
  
  // TODO: Verwende den Admin, um drei Bücher hinzuzufügen:
  // - 978-0-13-468599-1, The Pragmatic Programmer, David Thomas
  // - 978-0-596-51774-8, JavaScript: The Good Parts, Douglas Crockford
  // - 978-0-13-235088-4, Clean Code, Robert Martin
  
  // TODO: Gib die Anzahl der Bücher als "Total books: X" aus
  
  // TODO: Versuche, ein Buch mit einer nicht registrierten Admin-ID A999 hinzuzufügen
  
  // TODO: Entferne das zweite Buch (978-0-596-51774-8) unter Verwendung des registrierten Admins
  
  // TODO: Gib die endgültige Anzahl der Bücher aus
}

Alle Lektionen in Objektorientierte Programmierung

Übe selbstständig: Online-Dart-Compiler