- 2
- Classes e Objetos:
- Crie uma classe "Carro" com atributos como marca, modelo e ano. ✔️
- Instancie objetos dessa classe e acesse seus atributos. ✔️
- Encapsulamento:
- Modifique a classe "Carro" para tornar alguns de seus atributos privados.
- Crie métodos "get" e "set" para acessá-los.
- Herança:
- Crie uma classe "Veiculo" com atributos comuns a carros e motos.
- Em seguida, crie subclasses "Carro" e "Moto" que herdam da classe "Veiculo."
- Polimorfismo:
- Crie um método chamado "descrever" na classe "Veiculo."
- Sobrescreva-o nas subclasses "Carro" e "Moto" para fornecer descrições específicas.
- Abstração:
- Crie uma classe abstrata "Animal" com um método abstrato "emitir_som."
- Crie subclasses como "Cachorro" e "Gato" e implemente o método abstrato.
- Composição:
- Crie uma classe "Círculo" com um atributo "Ponto" que representa o centro do círculo.
- Use a composição para criar um círculo.
- Agregação:
- Crie uma classe "Biblioteca" que possui uma lista de objetos "Livro."
- Demonstre uma relação de agregação entre a biblioteca e os livros.
- Métodos Mágicos:
- Crie uma classe "Complexo" que representa números complexos.
- Implemente métodos mágicos como __add__, __sub__ e __str__.
- Anotações de Tipo:
- Adicione anotações de tipo às funções e métodos da classe "Pessoa" que indicam os tipos dos parâmetros e retornos.
- Herança Múltipla e Mixins:
- Crie uma classe "Trabalhador" com um mixin "Habilidade" que adiciona habilidades a um trabalhador.
- Módulos e Pacotes:
- Organize suas classes "Veiculo" e "Animal" em módulos separados.
- Importe-os em um arquivo principal.
- Design Patterns:
- Implemente o padrão de design Singleton em uma classe que represente uma configuração de aplicativo.
- Exceções:
- Adicione tratamento de exceções a uma classe "Divisão" que faz a divisão de dois números.
- Lide com a exceção de divisão por zero.
- Projetos que Englobam Todos os Tópicos:
- Sistema de Registro de Veículos:
- Crie um sistema que permita registrar carros e motos. Use herança, encapsulamento e polimorfismo para representar diferentes tipos de veículos.
- Zoológico Virtual:
- Desenvolva um programa que simule um zoológico virtual com vários tipos de animais. Use abstração e polimorfismo para representar os animais.
- Sistema de Biblioteca:
- Crie um sistema de biblioteca que permita registrar livros, autores e bibliotecários.
- Use encapsulamento, composição e agregação para modelar a biblioteca.