Boa tarde pessoa,
Eu gostaria de tirar uma duvida sobre classe abstrata e interface, não sei se entendi muito bem mas vamos.
- Classe abstrata: eu posso ter metodo abstrato e metodo com alguma coisa dentro;
- Classe interface: eu so posso ter assinatura do metodo;
Seria essa a diferença? Ou seja em uma classe abstrata eu posso ter metodo abstrato e metodos que nw sejam abstrato e na interface eu só tenho a assinatura.
Agradeços a todos
[quote=hugo.campos]Boa tarde pessoa,
Eu gostaria de tirar uma duvida sobre classe abstrata e interface, não sei se entendi muito bem mas vamos.
- Classe abstrata: eu posso ter metodo abstrato e metodo com alguma coisa dentro;
- Classe interface: eu so posso ter assinatura do metodo;
Seria essa a diferença? Ou seja em uma classe abstrata eu posso ter metodo abstrato e metodos que nw sejam abstrato e na interface eu só tenho a assinatura.
Agradeços a todos[/quote]
Sim, é isso.
Valeu renamed. Acho que agora eu aprendi. Onde sera que posso acha um boa explicação sobre composição, eu to procurando na internet mais so fala fala e não acho na concreto.
pensse dessa forma:
classe mae abstrata:
quando vc tiver varias classes filhas q vao implementar o mesmo metodo da mesma forma porem com valores diferentes
vc pode passa esses valores para cima para a classe mae e executar 1 unica vez o metodo
alem d poder decidir entre usar 1 metodo abstrato q faz com q todas as classes filhas sejao obrigadas a executar
e metodos com corpo e (nao abstratos) na classe mae
interface:
aki e como c vc fizesse 1 script d metodos sem corpo e tudo q implementar essa interface e obrigado e executar os metodos
e tambem e 1 bom lugar para definir constantes
Na verdade, interface são um péssimo local para se definir constantes. É considerado, inclusive, um anti-pattern.