Este repositório contém dois projetos distintos e separados por branches:
- Branch
poo-course(ATUAL): Contém este projeto de POO e todo o seu material de estudo. - Branch
fastapi-api-consumer: Contém o projeto separado de consumo de API desenvolvido com FastAPI.
Para acessar o projeto FastAPI, altere sua branch local usando: git checkout fastapi-api-consumer
Este diretório contém os códigos e exercícios desenvolvidos durante o curso de POO em Python, focando na aplicação de seus quatro pilares: Encapsulamento, Herança, Abstração e Polimorfismo.
Esta seção do código demonstra a implementação do pilar do Polimorfismo, focando na flexibilidade e na organização do código do cardápio.
- Métodos para Adicionar Itens: Refatoração de uma função existente para um método que agora aceita qualquer objeto que seja uma instância de
ItemCardapio, garantindo flexibilidade. - Conceito de Property: Utilização do decorator
@propertypara controlar o acesso e a forma como os dados do cardápio são exibidos, proporcionando uma visão clara dos itens disponíveis (aplicação do Encapsulamento).
- Método
aplicar_desconto: Desenvolvimento de um método comum chamadoaplicar_desconto. - Comportamento Distinto: Aplicação de valores de desconto diferentes (ex: em bebidas e pratos), destacando o Polimorfismo na prática, onde diferentes classes respondem ao mesmo método de maneiras distintas.
- Abstração: Discussão sobre o conceito de Métodos Abstratos para forçar as classes filhas a implementarem certos métodos, garantindo que a estrutura do código seja consistente e robusta.
- Classes Base: Criação da classe base
ItemCardapiocom parâmetros nome e preço. - Herança: Implementação das classes filhas
BebidaePrato, utilizandosuper()para herdar a estrutura da classe pai. - Modularização: Organização inicial das classes em módulos (
.pyfiles).
Lucas Grezzi