Skip to content

lucasgrezzi/poo-fastAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

🐍 Curso de Programação Orientada a Objetos (POO) em Python


🌳 AVISO IMPORTANTE: ESTRUTURA DO REPOSITÓRIO

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.


🏗️ Polimorfismo e Métodos Abstratos

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.

1. Refatoração e Encapsulamento

  • 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 @property para 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).

2. Implementação do Polimorfismo

  • Método aplicar_desconto: Desenvolvimento de um método comum chamado aplicar_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.

3. Métodos Abstratos (Conceitos Avançados)

  • 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.

⚙️ Módulo 01: Herança e Modularização

  • Classes Base: Criação da classe base ItemCardapio com parâmetros nome e preço.
  • Herança: Implementação das classes filhas Bebida e Prato, utilizando super() para herdar a estrutura da classe pai.
  • Modularização: Organização inicial das classes em módulos (.py files).

👨‍💻 Autor

Lucas Grezzi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages