Devolução de Livros
Parte da seção Programação Orientada a Objetos do Journey de Kotlin da Coddy. Lição 52 de 57.
Desafio
FácilAdicione o comando RETURN. Seu código da etapa anterior já está em Library.kt; mantenha todos os comandos funcionando exatamente como antes.
RETURN <name> <id>: respondano member boouno book 9como no empréstimo; se o membro não tiver esse livro, respondaada does not have Dune; caso contrário, remova o empréstimo do membro, disponibilize o livro e respondaada returned Dune.
O código fornecido passa cada linha de entrada para library.handle(line) e imprime cada resposta retornada em sua própria linha. Os nomes dos membros são palavras únicas em minúsculas, os IDs dos livros são números inteiros e a entrada contém apenas os comandos descritos até agora. Qualquer outro comando responde unknown command.
Seu código deve estar em Book.kt, Member.kt e Library.kt. Main.kt contém o código fornecido de entrada/saída e não pode ser editado.
Experimente você mesmo
fun main() {
// Código de entrada/saída fornecido: mantenha-o como está
val input = generateSequence(::readLine).toList()
val library = Library()
for (line in input) {
for (reply in library.handle(line)) println(reply)
}
}
Todas as lições de Programação Orientada a Objetos
1Classes e Objetos
Trabalhando com ArquivosDefinindo ClassesConstrutores PrimáriosBlocos init e ValidaçãoConstrutores SecundáriosRecapitulação - Cartão da Biblioteca4Herança
Classes Abertas e SubclassesSobrescrevendo Membrossuper e ConstrutoresClasses AbstratasRevisão - Diretório de Funcionários2Propriedades e Encapsulamento
Acessores PersonalizadosModificadores de VisibilidadeSetters Privadoslazy e lateinitRevisão - Conta Bancária5Interfaces
Declarando InterfacesMétodos PadrãoMúltiplas InterfacesInterfaces como TiposRecapitulação - Métodos de Pagamento8Genéricos
Funções genéricasClasses genéricasRestrições de tipoVariância com in e outRecapitulação - Fila de prioridade11Projeto: Gerenciamento de Biblioteca
Livros e MembrosEmpréstimo de LivrosPratique por conta própria: Playground de Kotlin