Resumo de Programação Orientada a Objetos
(POO) em Java
1. Conceitos Básicos
- Classe: molde que define atributos e métodos.
- Objeto: instância de uma classe.
- Atributos: características do objeto.
- Métodos: ações do objeto.
2. Encapsulamento
- Protege atributos contra acesso direto.
- Usa modificadores de acesso:
* public → acessível em qualquer lugar.
* private → acessível só na classe.
* protected → acessível em subclasses.
- Métodos get e set permitem acesso controlado.
Exemplo:
class Conta {
private double saldo;
public double getSaldo() { return saldo; }
public void depositar(double v) { saldo += v; }
}
3. Herança
- Permite que uma classe (subclasse) herde atributos e métodos de outra (superclasse).
- Facilita reuso de código.
Exemplo:
class Pessoa {
String nome;
public Pessoa(String nome) { [Link] = nome; }
}
class Aluno extends Pessoa {
String curso;
public Aluno(String nome, String curso) {
super(nome);
[Link] = curso;
}
}
4. Polimorfismo
- Permite diferentes comportamentos com o mesmo método.
1) Sobreposição (override): subclasse redefine um método da superclasse.
Ex:
class Animal { void emitirSom(){ [Link]("Som"); } }
class Gato extends Animal { @Override void emitirSom(){ [Link]("Miado"); } }
2) Sobrecarga (overload): métodos com o mesmo nome mas parâmetros diferentes.
Ex:
class Calc {
int somar(int a, int b){ return a+b; }
double somar(double a, double b){ return a+b; }
}
5. Classes e Métodos Especiais
- Classe abstrata: não pode ser instanciada, pode conter métodos abstratos.
- Classe final: não pode ser herdada.
- Método final: não pode ser sobrescrito.
6. Questões de Prática (com gabarito)
1) O que é uma classe?
Resp: Molde que define atributos e métodos.
2) O que imprime o código:
Conta c = new Conta();
[Link](50);
[Link]([Link]());
Resp: 50 + saldo inicial.
3) O que acontece se tentarmos sobrescrever um método final?
Resp: Erro de compilação.