Olhei, estudei, pesquisei na internet, cheguei até fazer um código com interface e implementação, mas não consegui absorver ainda a essência da coisa, uma impressão grosseira da minha parte é que parece mais encapsulamento do que outra coisa, gostaria se alguém que tenha uma clareza didática, pudesse colocar um exemplo de como funciona ou se depende de alguma situação vale a pena utilizar ou não. Vejo artigos na net que informam que para OO é fundamental, mas ainda não consegui captar a idéia.
O que eu queria saber vc resumiu num post antigo que é:
"Normalmente, a compreensão da interface vem quando você quer,
separar o seu projeto em camadas distintas, não dependentes uma da outra ou
Quando você está projetando um programa para ser usado por outros programadores. "
Agora eu já passo a compreender melhor a essencia da coisa.
Obrigado.
ViniGodoy
Isso. A grande vantagem das interfaces é que elas não tem compromisso com nenhum tipo de implementação, como as classes abstratas tem.
Uma vez que vc tem algo assim:
public void fazCoisasMaravilhosas(MinhaInterface alvo) {
//Aqui faz coisas maravilhosas com o objeto alvo
}
Qualquer usuário que implemente a interface MinhaInterface poderá usar esse método. Essa interface pode ser implementada em qualquer nível da hierarquia, tenha o usuário implementado outras interfaces ou não.