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?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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?
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!! =)