Olá Pessoal!
Encontrei em alguns foruns a diferença e não consegui aplicar no mundo real, gostaria de saber de vocês, teoricamente qual a diferença entre interfaces e classes abstratas?
Vlw pela atenção!!
Olá Pessoal!
Encontrei em alguns foruns a diferença e não consegui aplicar no mundo real, gostaria de saber de vocês, teoricamente qual a diferença entre interfaces e classes abstratas?
Vlw pela atenção!!
Uso interface para expor assinatura de métodos comum ao objeto. Vantagem de classes implementarem diversas interfaces.
Uso classes abstratas para expor assinatura de métodos comuns e outros métodos particular de implementação por parte de quem está utilizando.
Internamente os métodos da interface são public abstract, lembra algo?
Apesar de ser VB.Net tem um link legal sobre o assunto.
http://www.macoratti.net/net_ica1.htm
Abraços
Wanderson 8)
Dê uma pesquisada no fórum, que esse assunto foi amplamente discutido
classes abstratas são classes primitivas ( que nao podem ser instanciadas, somente herdadas ).
Ex:
abstract class Humano {
}
class Mulher extends Humano {
}
a classe humano é só uma base pra classes que serão mais especificas que a classe humano.
e interface é uma forma de você “obrigar” uma classe a ter determinados atributos ou funções
Ex:
interface iHumano {
public void comer();
}
class Humano implements iHumano{
public void comer(){
// implementação da função
}
}
vc ta obrigando a classe humano a ter a função de comer.
Ai vc pergunta “pra q isso?”
Imagine que vc ta programando junto de outros 10 programadores.
vc obriga eles a seguirem esse padrão. ( creio que seja isso, pelo menos isso que me explicaram )