Capítulo 31. Projetando com classes
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Até agora, nesta parte do livro, a gente se concentrou em usar a ferramenta OOP do Python, a classe. Mas OOP também tem a ver com design, ou seja, como usar classes para modelar objetos úteis. Para isso, este capítulo codifica padrões comuns de design OOP em Python, como herança, composição, delegação e fábricas. Ao longo do caminho, também investigaremos alguns conceitos de classe focados em design, como atributos pseudoprivados, herança múltipla e métodos delimitados. Como a herança múltipla depende da ordem de pesquisa MRO, finalmente exploraremos isso aqui também.
Uma observação inicial: alguns dos termos de design mencionados aqui exigem mais cobertura do que este livro pode oferecer. Se este material despertar sua curiosidade, você pode considerar explorar um texto sobre design OOP ou padrões de design como próximo passo. Como você verá, a boa notícia é que o Python torna muitos padrões de design tradicionais quase triviais.
Python e OOP
Vamos começar com uma revisão — a implementação de OOP do Python pode ser resumida em três ideias:
- Herança
- A herança é baseada na pesquisa de atributos em Python (em expressões
X.name). - Polimorfismo
- Em
X.method, o significado demethoddepende do tipo (classe) do objeto em questãoX. - Encapsulamento
- Métodos e operadores implementam o comportamento, embora a ocultação de dados seja uma ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access