Orientação a Objetos
Orientação a Objetos para Concursos Públicos
Conceitos Fundamentais
Orientação a Objetos (OO) é um paradigma de programação baseado em objetos, que combinam dados (atributos) e comportamentos (métodos). Os pilares principais são: Abstração, Encapsulamento, Herança e Polimorfismo.
Abstração
Modelagem de entidades do mundo real como classes, destacando apenas características relevantes. Ex: Classe "Carro" com atributos como modelo e métodos como acelerar().
Encapsulamento
Proteção dos dados internos de um objeto, expondo apenas interfaces controladas (métodos públicos). Usa modificadores de acesso: private, protected, public.
Herança
Relação "é-um" entre classes, permitindo reutilização de código. A classe filha (subclasse) herda atributos e métodos da classe pai (superclasse). Ex: Classe "Cachorro" herda de "Animal".
Polimorfismo
Capacidade de objetos responderem de formas diferentes ao mesmo método, seja por sobrescrita (override) em herança ou por sobrecarga (overload) na mesma classe.
Conceitos Avançados
Classes Abstratas: Não podem ser instanciadas, servem como modelo para subclasses.
Interfaces: Contratos que definem métodos obrigatórios (100% abstratos em Java até versão 7).
Associação, Agregação e Composição: Relações entre objetos com diferentes níveis de dependência.
Dicas para Concursos
1. Domine os 4 pilares com exemplos práticos
2. Entenda diferença entre sobrecarga e sobrescrita
3. Saiba identificar relações entre classes (herança vs composição)
4. Atenção a questões sobre modificadores de acesso
5. Pratique implementações em linguagens como Java ou C#