Resumo: Polimorfismo, Classes
Abstratas, Final e Interfaces em Java
1. Polimorfismo
Definição: Capacidade de um objeto assumir várias formas.
Tipos:
- Sobrecarga (Overloading): mesmo método com parâmetros diferentes.
- Sobrescrita (Overriding): redefinição de método na subclasse.
Exemplo:
Animal a = new Cachorro();
[Link](); // comportamento depende da classe real
2. Classe Abstrata
- Não pode ser instanciada.
- Pode ter métodos abstratos e concretos.
abstract class Animal {
abstract void som();
3. Método Abstrato
- Não possui corpo.
- Deve ser implementado pelas subclasses.
4. Palavra-chave final
- Variável: valor não muda.
- Método: não pode ser sobrescrito.
- Classe: não pode ser herdada.
5. Interface
- Define um contrato.
- Métodos devem ser implementados.
interface Animal {
void som();
class Cachorro implements Animal {
public void som() {
[Link]("Latido");
6. Diferença: Abstract vs Interface
- Abstract: pode ter implementação, construtor, atributos normais.
- Interface: permite múltiplas implementações.
Resumo:
Polimorfismo → vários comportamentos
Abstract → base incompleta
Final → não pode alterar
Interface → contrato