Katalog durchsuchen
Teil des Abschnitts Objektorientierte Programmierung der Kotlin-Journey von Coddy. Lektion 53 von 57.
Aufgabe
EinfachFüge den Befehl SEARCH hinzu. Dein Code aus dem vorherigen Schritt befindet sich bereits in Library.kt; sorge dafür, dass jeder Befehl weiterhin genau wie zuvor funktioniert.
SEARCH <text>: Der Text darf Leerzeichen enthalten. Antworte für jedes Buch, dessen Titel den Text enthält, ohne Beachtung der Groß- und Kleinschreibung, in der Reihenfolge der Buch-ID mit einer Zeile:Dune (available)oderEmma (borrowed by ada). Gibt es keine Übereinstimmung, antworte mitno matches.
Der bereitgestellte Code übergibt jede Eingabezeile an library.handle(line) und gibt jede zurückgegebene Antwort in einer eigenen Zeile aus. Mitgliedsnamen sind einzelne kleingeschriebene Wörter, Buch-IDs sind ganze Zahlen, und die Eingabe enthält nur die bisher beschriebenen Befehle. Bei jedem anderen Befehl lautet die Antwort unknown command.
Dein Code gehört in Book.kt, Member.kt und Library.kt. Main.kt enthält den bereitgestellten Eingabe-/Ausgabecode und darf nicht bearbeitet werden.
Probier es selbst
fun main() {
// Gelieferter Ein-/Ausgabe-Code: belasse ihn wie er ist
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
Alle Lektionen in Objektorientierte Programmierung
1Klassen und Objekte
Arbeiten mit DateienKlassen definierenPrimärkonstruktoreninit-Blöcke und ValidierungSekundärkonstruktorenRückblick – Bibliotheksausweis4Vererbung
Offene Klassen und UnterklassenÜberschreiben von Membernsuper und KonstruktorenAbstrakte KlassenRückblick – Mitarbeiterverzeichnis2Eigenschaften und Kapselung
Benutzerdefinierte ZugriffsmethodenSichtbarkeitsmodifikatorenPrivate Setterlazy und lateinitWiederholung – Bankkonto5Schnittstellen
Schnittstellen deklarierenStandardmethodenMehrere SchnittstellenSchnittstellen als TypenRückblick – Zahlungsmethoden8Generics
Generische FunktionenGenerische KlassenTypbeschränkungenVarianz mit in und outRückblick – Prioritätswarteschlange11Projekt: Bibliotheksverwaltung
Bücher und MitgliederBücher ausleihenÜbe selbstständig: Kotlin-Playground