** -> O que eu realmente não entendo... é porque que eu utilizo Foo nesta linha de código.. tudo bem, entendo que é correto fazer isto... seguindo o conceito de herança, mas queria saber qual é a vantagem de estar utilizando desta forma ao invés dessa...
esse conceito eh parecido com o de utilizar interfaces, usar interfaces ou classes abstratas garante compatibilidade entre os códigos e permite que a manutenção seja mais fácil…
outra vantagem é permitir que exista polimorfismo em tempo de execução, ou seja, vc declara a variavel como Map, mas dependendo de certos fatores ele será um TreeMap ou um HashMap, neste caso vc garante (através da contrato da interface Map) que tuas chamadas terão sempre a mesma assinatura para as possíveis classes implementadoras…
enfim, isso eh polimorfismo!
V
vieciliPJ
esse conceito eh parecido com o de utilizar interfaces, usar interfaces ou classes abstratas garante compatibilidade entre os códigos e permite que a manutenção seja mais fácil…
outra vantagem é permitir que exista polimorfismo em tempo de execução, ou seja, vc declara a variavel como Map, mas dependendo de certos fatores ele será um TreeMap ou um HashMap, neste caso vc garante (através da contrato da interface Map) que tuas chamadas terão sempre a mesma assinatura para as possíveis classes implementadoras…