image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image

EJ

Erick Jhone17/10/2023 09:37
Compartilhe

POO em Java - Compreendendo as Interfaces

    Uma interface assemelha-se a um contrato, através dela (Interface) podemos definir métodos que as classes que implementam esta interface serão obrigados a implementar.

    Resolve o problema de herança múltipla em Java, pois enquanto a herança via extends aceita apenas uma classe, é possível fazer a implementação de mais de uma interface em minha classe. 

    Sua declaração em código java parte de 'public interface nomeDaInterface'

    A partir de então definimos os métodos desse "contrato" que todas as classes que o 'assinarem' serão obrigadas a implementar.

    public interface Ligavel {
      int num = 10; // Já tenho que informar valor por ser constante, se não dará erro.
    
      
          public void ligar(){
              // Coloco apenas a assinatura, sem corpo. 
              // Quem implementará o método de fato será a classe que fizer o implements
    
          }
    }
    

    É importante termos ciência que quando trabalhamos com interfaces os valores são constantes, logo não utilizamos a interface para criar especializações de atributos, visto que se definirmos atributos nela, os mesmos assumirão o mesmo valor em todas as suas implementações. O foco quando trabalhamos com interfaces é no comportamento, ou seja, nos métodos.

    Os métodos definidos na interface são feitos sem corpo, quem faz a escrita do comportamento que haverá dentro do escopo do método são as classes que implementam aquela interface.

    Seguiremos utilizando a interface Ligável criada acima:

    public class Carro implements Ligavel {
     
      @Override
      public void ligar(){
          //Aqui faço a implementação do método estabelecido no contrato 
          System.out.println("Ligando Carro");
      }
    
    }
    
    public class Televisao implements Ligavel {
       @Override
       public void ligar(){
       //Aqui faço a implementação do método estabelecido no contrato
         System.out.println("Ligando Televisão");
        } 
    }
    

    Como visto no exemplo acima, temos classes que tem um comportamento em comum, que em determinado momento receberá cada um sua própria implementação de acordo com as necessidades do seu contexto. É então que os métodos abstratos que foram definidos na interface podem ser utilizados por todas essas classes que a implementam.

    Criando os objetos e acessando os métodos na Main:

    public class Main {
      public static void main(String[] args){
    
          Carro c = new Carro();
          c.ligar();
    
          Televisao t = new Televisao();
          t.ligar();
      }
    }
    

    Esse é o básico sobre Interfaces, espero ter contribuído para que conheçam um pouco mais da dinâmica que a Programação Orientada a Objetos fornece para manutenção dos códigos de vocês.

    Compartilhe
    Comentários (1)
    Vinicius Silva
    Vinicius Silva - 17/10/2023 10:45

    Ótimo artigo, fornece uma explicação clara e concisa sobre o conceito de interfaces em Java, enfatizando sua utilidade na implementação de contratos e comportamentos comuns. Parabéns.