Bücher ausleihen
Teil des Abschnitts Objektorientierte Programmierung der R-Journey von Coddy. Lektion 51 von 57.
Aufgabe
EinfachFüge den Befehl BORROW über die Methode borrow(name, id) hinzu. Sorge dafür, dass jeder Befehl aus den vorherigen Schritten weiterhin genau wie zuvor funktioniert.
BORROW <name> <id>: Prüfe in dieser Reihenfolge und antworte mit dem ersten Problem:no member bo,no book 9,Dune is not available,ada has reached the limit(Mitglieder dürfen höchstenslimitBücher, also 2, besitzen). Andernfalls speichere die Ausleihe sowohl beim Buch (borrower) als auch beim Mitglied (borrowed) und antworte mitada borrowed Dune.
Der bereitgestellte Code sendet jede Eingabezeile an lib$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 wird mit unknown command geantwortet.
Dein Code gehört in Book.R, Member.R und Library.R. main.R enthält den bereitgestellten Eingabe-/Ausgabecode und darf nicht bearbeitet werden.
Probier es selbst
source("Book.R")
source("Member.R")
source("Library.R")
# Mitgelieferter Ein-/Ausgabecode: belasse ihn wie er ist
input <- suppressWarnings(readLines(file("stdin")))
lib <- Library$new()
for (line in input) {
for (reply in lib$handle(line)) cat(reply, "\n", sep = "")
}
Alle Lektionen in Objektorientierte Programmierung
1S3-Grundlagen
Arbeiten mit DateienListen mit einer KlasseKonstruktorfunktionenPrint- und Format-MethodenValidatoren und HilfsfunktionenRückblick – Temperaturen4Kapselung in R
Closures als ObjekteUmgebungen als ObjekteZugriffsfunktionenZustand schützenRückblick – Parkuhr2S3-Generics und Methoden
Generics und UseMethodStandardmethodenMethoden für Basis-GenericsGrundlagen von NextMethodWiederholung – Flächeninhalte von Formen5S4-Klassen
S4-Klassen definierenSlots und ZugriffGültigkeitsprüfungenShow-MethodenRückblick – Produktkatalog8Referenzklassen
Referenzklassen definierenMethoden und FeldänderungenKopiersemantikVererbung und callSuperZusammenfassung – Aufgabenwarteschlange11Projekt: Bibliotheksverwaltung
Bücher und MitgliederBücher ausleihenÜbe selbstständig: Online-R-Compiler