Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Interfaces - Java POO

Olá pessoal, tudo certinho?

Não consegui compreender totalmente onde pode se aplicar o conceito de interface, alguém pode me exemplificar o que é interface e onde aplicar?

1 resposta
solução!

Interface é um contrato, e quem implementa tem que cumprir com os métodos.

Vou dar um exemplo de uma aplicação com acesso ao banco de dados. Teremos dois metódos: o save e o delete.

interface IBancoDeDados {
  Object save(Object object);
  void delete(Object object);
}

class BancoDeDadosMySQL implements IBancoDeDados {
  Object save(Object object) {
    // ...salva no Banco de dados
  }
  void delete(Object object){
    // ...deleta no Banco de dados
  }
}

class BancoDeDadosPostgreSQL implements IBancoDeDados {
  Object save(Object object) {
    // ...salva no Banco de dados
  }
  void delete(Object object){
    // ...deleta no Banco de dados
  }
}

class servicoBancoDeDados {
  private IBancoDeDados bancoDeDados_1;
  private IBancoDeDados bancoDeDados_2;

  public servicoBancoDeDados() {
    this.bancoDeDados_1 = new BancoDeDadosPostgreSQL();
    this.bancoDeDados_2 = new BancoDeDadosMySQL();
  }
}

Isso é uma implementação generica. Mas eu não dependo da classe. Não preciso saber em qual banco será salvo, apenas garantir que os métodos da interface existiram na classe que à implementa.

Bons estudos!! =)