Emprunter des livres
Fait partie de la section Programmation orientée objet du Journey Kotlin de Coddy. Leçon 51 sur 57.
Défi
FacileAjoutez la commande BORROW. Votre code de l’étape précédente se trouve déjà dans Library.kt ; veillez à ce que chaque commande fonctionne exactement comme avant.
BORROW <name> <id>: vérifiez dans cet ordre et répondez avec le premier problème rencontré :no member bo,no book 9,Dune is not available,ada has reached the limit(les membres peuvent détenir au maximum 2 livres). Sinon, enregistrez l’emprunt à la fois sur le livre et sur le membre, puis répondezada borrowed Dune.
Le code fourni transmet chaque ligne d’entrée à library.handle(line) et affiche chaque réponse renvoyée sur sa propre ligne. Les noms des membres sont des mots uniques en minuscules, les identifiants des livres sont des nombres entiers, et l’entrée contient uniquement les commandes décrites jusqu’à présent. Toute autre commande renvoie unknown command.
Votre code doit se trouver dans Book.kt, Member.kt et Library.kt. Main.kt contient le code fourni pour les entrées et sorties et ne peut pas être modifié.
Essayez vous-même
fun main() {
// Code d'entrée/sortie fourni : le garder tel quel
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
Toutes les leçons de Programmation orientée objet
1Classes et objets
Travailler avec des fichiersDéfinir des classesConstructeurs primairesBlocs init et validationConstructeurs secondairesRécapitulatif - Carte de bibliothèque4Héritage
Classes ouvertes et sous-classesRedéfinition des membressuper et constructeursClasses abstraitesRécapitulatif – Annuaire du personnel2Propriétés et encapsulation
Accesseurs personnalisésModificateurs de visibilitéSetters privéslazy et lateinitRécapitulatif - Compte bancaire5Interfaces
Déclarer des interfacesMéthodes par défautInterfaces multiplesInterfaces en tant que typesRécapitulatif - Méthodes de paiement8Génériques
Fonctions génériquesClasses génériquesContraintes de typeVariance avec in et outRécapitulatif - File de priorité11Projet : Gestion de bibliothèque
Livres et membresEmprunter des livresEntraînez-vous par vous-même : Playground Kotlin