Classes Livro e Usuário
Parte da seção Object Oriented Programming do Journey de Python da Coddy. Lição 56 de 64.
Desafio
FácilNeste desafio, você implementará a classe Book para um sistema de gerenciamento de biblioteca usando uma estrutura de vários arquivos com cobertura abrangente de testes.
Edite book.py para implementar a classe Book seguindo os comentários TODO. A implementação deve:
- Inicializar com os parâmetros title, author e ISBN
- Acompanhar o status de disponibilidade e as informações do borrower
- Implementar uma representação de string adequada
Experimente você mesmo
from book import Book
# 1. Crie um objeto Book
book = Book("1984", "George Orwell", "345678")
# 2. Verifique os atributos
print(book.title) # Deve imprimir: 1984
print(book.author) # Should print: George Orwell
print(book.isbn) # Deve imprimir: 345678
print(book.available) # Deve imprimir: True
print(book.borrower) # Deve imprimir: None
# 3. Teste __str__ quando disponível
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Test __str__ when not available
book.available = False
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Not AvailableTodas as lições de Object Oriented Programming
1Fundamentos de POO
Arquivos ExternosIntrodução à POOClasses vs ObjetosO Parâmetro selfMétodosAtributosMétodo Construtor (__init__)Recapitulação - Calculadora Simples4Herança
Herança BásicaA Função super()Sobrescrita de MétodoHerança MúltiplaOrdem de Resolução de MétodosRecapitulação - Hierarquia de Funcionários7Métodos Especiais
Introdução aos Métodos MágicosSobrecarga de OperadoresMétodos Mágicos de ContêinerRecapitulação - Lista Personalizada10Padrões de Projeto Parte 1
Introdução a Padrões de ProjetoPadrão SingletonPadrão FactoryPadrão ObserverPadrão Strategy2Decoradores
Introdução aos DecoradoresDecorador de PropriedadeDecorador de Método EstáticoDecorador de Método de Classe5Polimorfismo
Sobrescrita de Método RevisitadaDuck TypingClasses e Métodos AbstratosDesign de InterfacesRecapitulação - Calculadora de Formas8Conceitos Avançados de POO
Composição vs HerançaMixinsMétodos Estáticos e de ClasseDecoradores de ClasseGerenciadores de Contexto11Padrões de Projeto Parte 2
Padrão CommandPadrão AdapterPadrão DecoratorPadrão Template MethodPadrão StatePadrão Composite3Propriedades de Classe
Variáveis de Instância vs de ClasseDecoradores de PropriedadeAtributos PrivadosRecapitulação - Gerenciador de Conta Bancária6Encapsulamento
Membros Públicos, Protegidos e PrivadosModificadores de AcessoOcultação de InformaçãoProperty Decorators AvançadosRecapitulação - Sistema de Registro de Alunos12Projeto: Gerenciamento de Biblioteca
Visão Geral do ProjetoClasses Livro e UsuárioSistema de EmpréstimosFuncionalidade de BuscaInterface AdministrativaTestes e IntegraçãoPratique por conta própria: Compilador de Python online