Resumo de Engenharia de Software - Orientação a Objetos

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#