Interfaces Em POO
Interfaces
O Java não permite a herança de duas classes distintas, assim nasce a interface que “burla” essa regra.
Uma interface ela necessariamente é uma Abstração em POO
, por isso, por mais que você não coloque a palavra chave abstract
, ela é automaticamente interpretada como se tivesse.
Seus métodos sempre serão públicos e abstratos, forçando o @Override na classe que implementa essa interface.
Pense no exemplo da Classe Abstrata “Animal”.
java code snippet start
// Animal.java
public abstract class Animal{
public abstract void comer();
public abstract void mover_se();
}
// Pet.java <- Interface
public interface Pet{
void brincar();
void passear();
}
// Cachorro.java
public class Cachorro extends Animal implements Pet{
private String raca;
private String porte;
@Override
public void comer(){
System.out.println("Cachorro come ração");
}
@Override
public void mover_se(){
System.out.println("Cachorro anda em quatro patas");
}
@Override
public void brincar(){
System.out.println("Cachorros correm para brincar");
}
@Override
public void passear(){
System.out.println("Cachorros adoram passear");
}
}
java code snippet end
Referências Programação Orientada a Objetos - Aula 01