Python Orientado a Objetos: Do Básico a Design Patterns
Grade completa baseada no padrão TutorialsPoint: Classes, Objetos, Encapsulamento, Herança, Polimorfismo, Dunder Methods, Métodos de Classe, ABCs, Exceções Customizadas e Padrões de Projeto.
Módulo 1 — Classes, Objetos & Construtores
Fundamentos de POO, instanciação, parâmetro self e método construtor __init__.
Módulo 2 — Encapsulamento & Properties
Atributos protegidos, convenção de visibilidade, getters e setters com @property.
2.1 Getters e Setters com @property
Aprenda encapsulamento pythonico com conceitos práticos e exercícios aplicados.
Módulo 3 — Herança & super()
Reaproveitamento de código, invocação da classe pai com super() e ordem MRO.
3.1 Invocando o Construtor Pai com super()
Ao herdar de uma classe base, invocamos `super().__init__(...)` para garantir que a classe ancestral seja corretamente inicializada:.
Módulo 4 — Polimorfismo & Duck Typing
Sobrescrita de métodos, interfaces implícitas e o princípio "se anda como um pato...".
4.1 Duck Typing na Prática
Aprenda polimorfismo dinâmico com conceitos práticos e exercícios aplicados.
Módulo 5 — Métodos Mágicos (Dunders)
__str__, __repr__, __len__, __eq__ e gerenciadores de contexto (__enter__ / __exit__).
5.1 Representação em String: __str__ vs __repr__
`__str__`:** Representação amigável voltada para o usuário final (`print(obj)` ou `str(obj)`).
Módulo 6 — @classmethod & @staticmethod
Métodos vinculados à classe (cls), factory methods e funções utilitárias isoladas.
6.1 Factory Methods com @classmethod
Um `@classmethod` recebe a classe `cls` como primeiro argumento, sendo perfeito para construtores alternativos:.
Módulo 7 — Classes Abstratas (ABCs)
Garantindo contratos rígidos com o módulo abc, ABC e @abstractmethod.
7.1 Criando Interfaces com abc.ABC
Classes abstratas não podem ser instanciadas diretamente e forçam as subclasses a implementar todos os métodos decorados com `@abstractmethod`:.
Módulo 8 — Padrões de Projeto em Python
Implementação limpa de Singleton, Factory, Strategy e Observer em Python.
8.1 O Padrão Strategy
O padrão Strategy permite trocar algoritmos de forma dinâmica em tempo de execução sem alterar o cliente:.
Módulo 9 — Exceções & Dataclasses
Hierarquia de erros de domínio e estruturas imutáveis com @dataclass.
9.1 Dataclasses em Python Moderno
Introduzidas no Python 3.7, as dataclasses geram automaticamente `__init__`, `__repr__`, `__eq__` e tipagem estática:.