Relatório da Biblioteca
Parte da seção Programação Orientada a Objetos do Journey de Kotlin da Coddy. Lição 54 de 57.
Desafio
MédioAdicione o comando REPORT. Seu código da etapa anterior já está em Library.kt; mantenha todos os comandos funcionando exatamente como antes.
REPORT: respondabooks: 3, borrowed: 1e, em seguida, uma linha por membro em ordem alfabética:ada: Dune, Emma, com os títulos na ordem de empréstimo, oubo: none.
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 letras 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