Restituire i libri
Fa parte della sezione Programmazione orientata agli oggetti del percorso Kotlin di Coddy. Lezione 52 di 57.
Sfida
FacileAggiungi il comando RETURN. Il tuo codice del passaggio precedente è già in Library.kt; fai in modo che tutti i comandi continuino a funzionare esattamente come prima.
RETURN <name> <id>: rispondino member boono book 9come per il prestito; se il membro non ha quel libro, rispondiada does not have Dune; altrimenti rimuovi il prestito dal membro, rendi disponibile il libro e rispondiada returned Dune.
Il codice fornito passa ogni riga di input a library.handle(line) e stampa ogni risposta restituita su una riga separata. I nomi dei membri sono parole singole in minuscolo, gli ID dei libri sono numeri interi e l'input contiene solo i comandi descritti finora. Qualsiasi altro comando risponde unknown command.
Il tuo codice va in Book.kt, Member.kt e Library.kt. Main.kt contiene il codice fornito per l'input/output e non può essere modificato.
Provalo tu
fun main() {
// Codice di input/output fornito: lascialo così com'è
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
Tutte le lezioni di Programmazione orientata agli oggetti
1Classi e oggetti
Lavorare con i fileDefinire le classiCostruttori primariBlocchi init e convalidaCostruttori secondariRiepilogo - Tessera della biblioteca4Ereditarietà
Classi aperte e sottoclassiRidefinizione dei membrisuper e costruttoriClassi astratteRiepilogo - Elenco del personale2Proprietà e incapsulamento
Accessor personalizzatiModificatori di visibilitàSetter privatilazy e lateinitRipasso - Conto bancario5Interfacce
Dichiarare le interfacceMetodi predefinitiInterfacce multipleLe interfacce come tipiRiepilogo - Metodi di pagamento8Tipi generici
Funzioni genericheClassi genericheVincoli sui tipiVarianza con in e outRiepilogo - Coda con priorità11Progetto: Gestione della biblioteca
Libri e sociPrendere in prestito i libriEsercitati da solo: Playground Kotlin