Empréstimo de Livros
Parte da seção Programação Orientada a Objetos do Journey de Swift da Coddy. Lição 51 de 57.
Desafio
FácilAdicione o comando BORROW. Mantenha todos os comandos das etapas anteriores funcionando exatamente como antes.
BORROW <name> <id>: verifique nesta ordem e responda com o primeiro problema:no member bo,no book 9,Dune is not available,ada has reached the limit(os membros podem ter no máximo 2 livros). Caso contrário, registre o empréstimo tanto no livro quanto no membro e respondaada borrowed Dune.
O código fornecido passa cada linha de entrada para library.handle(_:) 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 ficar em Book.swift, Member.swift e Library.swift. main.swift contém o código fornecido de entrada/saída e não pode ser editado.
Experimente você mesmo
// Código de entrada/saída fornecido: mantenha-o como está
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) }
}
Todas as lições de Programação Orientada a Objetos
1Classes e Objetos
Trabalhando com ArquivosDefinindo ClassesMétodos e selfInicializadoresClasses são ReferênciasRevisão - Cartão da Biblioteca4Encapsulamento
Controle de AcessoSomente Leitura ExternaProtegendo o EstadoInicializadores que Podem FalharRevisão - Conta Bancária7Polimorfismo e Genéricos
PolimorfismoConversão de TiposFunções GenéricasTipos GenéricosRevisão - Calculadora de Formas2Structs e Tipos de Valor
StructsSemântica de ValorMétodos MutáveisStruct ou ClasseRecapitulação - Item de Inventário5Herança
SubclassesSobrescrita de métodosInicializadores e superfinal e hierarquiasRecapitulação - Hierarquia de funcionários8Protocolos Padrão
CustomStringConvertibleEquatableComparableHashableRecapitulação - Ordenação Personalizada11Projeto: Gerenciamento de Biblioteca
Livros e MembrosEmpréstimo de LivrosPratique por conta própria: Playground de Swift