Eu entendi que uma interface define um tipo de contrato, ou seja, o que uma classe deve fazer, mas não com deve fazer.
mas…
Qual a grande necessidade de se fazer isso?
vlw.
Eu entendi que uma interface define um tipo de contrato, ou seja, o que uma classe deve fazer, mas não com deve fazer.
mas…
Qual a grande necessidade de se fazer isso?
vlw.
vou de dar um exemplo:
interface ITeste {
void executa();
}
class Teste1 implements ITeste {
void executa() {
System.out.println("Teste 1");
}
}
class Teste2 implements ITeste {
void executa() {
System.out.println("Teste 2");
}
}
void executaOExecuta(ITeste x) {
x.executa();
}
void executaOExecuta(Object x) {
if(x instanceof Teste1) {
((Teste1)x).executa();
} else if(x instanceof Teste2) {
((Teste2)x).executa();
}
}
percebeu a diferença ?
A grande necessida e quanto temos classes que não tem relaçao de herança mas precisam te metodos e variaveis comuns.
Eu entendi que uma interface define um tipo de contrato, ou seja, o que uma classe deve fazer, mas não com deve fazer.
mas…Qual a grande necessidade de se fazer isso?
Tirar proveito de variáveis polimórficas. Variáveis Polimorficas é uma caracteristica poderosissima de linguagens OO… é toda a graça do assunto.