Programação Orientada a Objetos (POO)
Paradigma usando objetos com dados e métodos (4 pilares).
A Programação Orientada a Objetos (POO) é um paradigma que estrutura o código em torno de 'objetos'—unidades autônomas contendo dados (atributos) e código (métodos).
Quatro pilares da POO:
1. Encapsulamento: Agrupar dados e métodos, esconder estado interno
2. Abstração: Expor apenas características essenciais
3. Herança: Classes herdam propriedades/métodos de classes pai
4. Polimorfismo: Mesma interface, diferentes implementações
graph LR
Center["Programação Orientada a Objetos (POO)"]:::main
Rel_functional_programming["functional-programming"]:::related -.-> Center
click Rel_functional_programming "/terms/functional-programming"
Rel_java["java"]:::related -.-> Center
click Rel_java "/terms/java"
Rel_stored_program_concept["stored-program-concept"]:::related -.-> Center
click Rel_stored_program_concept "/terms/stored-program-concept"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Teste de conhecimento
🧒 Explique como se eu tivesse 5 anos
Pense nas instruções de LEGO. Uma classe é como as instruções para construir uma casa. Cada casa que você constrói seguindo essas instruções é um objeto. Casas diferentes podem compartilhar peças (herança) mas parecer diferentes (polimorfismo)!
🤓 Expert Deep Dive
Os princípios SOLID guiam um bom design POO. Composição sobre herança evita o problema da classe base frágil. Duck typing (Python) permite polimorfismo sem herança.