Wypożyczanie książek
Część sekcji Programowanie obiektowe ścieżki Swift w Coddy. Lekcja 51 z 57.
Wyzwanie
ŁatwyDodaj polecenie BORROW. Wszystkie polecenia z poprzednich kroków muszą nadal działać dokładnie tak jak wcześniej.
BORROW <name> <id>: sprawdź po kolei i odpowiedz pierwszym napotkanym komunikatem o problemie:no member bo,no book 9,Dune is not available,ada has reached the limit(członkowie mogą mieć najwyżej 2 książki). W przeciwnym razie zapisz wypożyczenie zarówno przy książce, jak i przy członku, a następnie odpowiedzada borrowed Dune.
Dostarczony kod przekazuje każdy wiersz wejścia do library.handle(_:) i wypisuje każdą zwróconą odpowiedź w osobnym wierszu. Imiona członków to pojedyncze słowa zapisane małymi literami, identyfikatory książek to liczby całkowite, a wejście zawiera tylko opisane dotąd polecenia. Każde inne polecenie powoduje odpowiedź unknown command.
Twój kod umieść w plikach Book.swift, Member.swift i Library.swift. Plik main.swift zawiera dostarczony kod wejścia/wyjścia i nie można go edytować.
Spróbuj swoich sił
// Dostarczony kod wejścia/wyjścia: pozostaw go bez zmian
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) }
}
Wszystkie lekcje w sekcji Programowanie obiektowe
1Klasy i obiekty
Praca z plikamiDefiniowanie klasMetody i selfInicjalizatoryKlasy są referencjamiPowtórzenie — karta biblioteczna4Hermetyzacja
Kontrola dostępuTylko do odczytu z zewnątrzOchrona stanuInicjalizatory, które mogą zawieśćPodsumowanie — konto bankowe7Polimorfizm i typy generyczne
PolimorfizmRzutowanie typówFunkcje generyczneTypy generycznePodsumowanie – kalkulator kształtów2Struktury i typy wartościowe
StrukturySemantyka wartościMetody modyfikująceStruktura czy klasaPodsumowanie – element inwentarza5Dziedziczenie
PodklasyPrzesłanianie metodInicjalizatory i superfinal i hierarchiePodsumowanie — hierarchia pracowników8Standardowe protokoły
CustomStringConvertibleEquatableComparableHashablePodsumowanie — własne sortowanie11Projekt: Zarządzanie biblioteką
Książki i czytelnicyWypożyczanie książekPoćwicz samodzielnie: Edytor online Swift