Interface em Java é um recurso da orientação a objeto utilizado em Java que define ações que devem ser obrigatoriamente executadas, mas que cada classe pode executar de forma diferente.
Interfaces contém valores constantes ou assinaturas de métodos que devem ser implementados dentro de uma classe.
E por que isso?
Isso se deve ao fato que muitos objetos (classes) podem possuir a mesma ação (método), porém, podem executá-la de maneira diferente.
Usando um exemplo bem drástico, podemos ter uma interface chamada Aereo que possui a assinatura do método voar(). Ou seja, toda classe que implementar Aereo deve dizer como voar().
Portanto, se eu tenho uma classe chamada Passaro e outra chamada Aviao, ambas implementando a interface Aereo, então, nestas duas classes devemos codificar a forma como cada um irá voar, usando o método voar().
Uma interface é criada da mesma forma que uma classe, mas utilizando a palavra-chave interface no lugar de class.
Superclasse (classe que fornece a herança):
public interface Aereo { //definição da interface Aereo
public void voar(); //método voar não implementado
}
//a classe Passaro implementa a interface Aereo
public class Passaro implements Aereo {
public void voar() {
//método implementado conforme a classe Passaro
System.out.println("Batendo asas...");
}
}
public class Aviao implements Aereo {
//a classe Aviao implementa a interface Aereo
public void voar() {
//método implementado conforme a classe Aviao
System.out.println("Turbina ligada...");
}
}
O trecho acima demonstra o uso de interfaces. A interface foi implementada pelas classes Passaro e Aviao, que executaram o método voar() de acordo com suas necessidades.
Características:
» Uma interface não é considerada uma Classe e sim uma Entidade;
» Não possui implementação, apenas assinatura, ou seja, apenas a definição dos seus métodos sem o corpo;
» Todos os métodos são abstratos;
» Seus métodos são implicitamente Públicos e Abstratos;
» Não há como fazer uma instância de uma Interface e nem como criar um Construtor;
» Funcionam como um tipo de “contrato”, onde são especificados os atributos, métodos e funções que as classes que implementem essa interface são obrigadas a implementar;
» Já que C# não suporta Heranças Múltiplas, as Interfaces são usadas para implementá-las.
Domine as boas práticas com projetos práticos que vão te ajudar a desenvolver sistemas e se destacar no mercado de programação.
Clique na imagem abaixo e conheça mais detalhes do nosso curso:
Dúvidas ou sugestões? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários