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?
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!! =)