Katalog durchsuchen
Teil des Abschnitts Objektorientierte Programmierung der Swift-Journey von Coddy. Lektion 53 von 57.
Aufgabe
EinfachFüge den Befehl SEARCH hinzu. Alle Befehle aus den vorherigen Schritten müssen weiterhin genau wie zuvor funktionieren.
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). Wenn es keine Übereinstimmung gibt, antworte mitno matches.
Der bereitgestellte Code übergibt jede Eingabezeile an library.handle(_:) und gibt jede zurückgegebene Antwort in einer eigenen Zeile aus. Mitgliedernamen 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.swift, Member.swift und Library.swift. main.swift enthält den bereitgestellten Eingabe-/Ausgabecode und kann nicht bearbeitet werden.
Probier es selbst
// Bereitgestellter Ein-/Ausgabecode: belasse ihn wie er ist
var input: [String] = []
while let line = readLine() { input.append(line) }
let library = Library()
for line in input {
for reply in library.handle(line) { print(reply) }
}
Alle Lektionen in Objektorientierte Programmierung
1Klassen und Objekte
Arbeiten mit DateienKlassen definierenMethoden und selfInitialisiererKlassen sind ReferenzenRückblick – Bibliotheksausweis4Kapselung
ZugriffskontrolleVon außen schreibgeschütztZustand schützenFehlschlagende InitialisiererRückblick – Bankkonto7Polymorphismus und Generika
PolymorphismusTypumwandlungGenerische FunktionenGenerische TypenZusammenfassung – Shape-Rechner2Strukturen und Werttypen
StrukturenWertsemantikVerändernde MethodenStruktur oder KlasseZusammenfassung – Inventarelement5Vererbung
UnterklassenMethoden überschreibenInitialisierer und superfinal und HierarchienRückblick – Mitarbeiterhierarchie8Standardprotokolle
CustomStringConvertibleEquatableComparableHashableRückblick – Benutzerdefiniertes Sortieren11Projekt: Bibliotheksverwaltung
Bücher und MitgliederBücher ausleihenÜbe selbstständig: Swift-Playground