O que é essa declaração?

2 respostas Resolvido
poomvcjava
Reginaldo_Junior2

Olá amigos, tudo bem? Espero que sim, mesmo diante das dificuldades em que passamos. Entretanto, gostaria de saber quais os conceitos envolvidos no seguinte código:

GenericDAO oTipoCampanhaDAO = new TipoCampanhaDAO();

GenericDAO = Interface que possue contratos a serem implementados, no objeto oTipoCampanhaDAO que será instanciado a partir da classe TipoCampanhaDAO.

Bom, já falando boa parte do código, eu tenho dúvida quanto a que conceito o GenericDAO aplica no objeto. O objeto terá multiplos tipos?(sendo TipoCampanhaDAO e GenericDAO).

2 Respostas

Jonathan_Medeiros
Solucao aceita

Isso tem ligação com polimorfismo na orientação à objetos.

Neste caso a interface recebe a instância de uma implementação específica, mas poderia por exemplo existirem N outras implementações, com isso, no momento em que você faz:

Interface minhaInterface = new MinhaImplementacao();

Você garante que seu código sofrerá o mínimo de impacto em caso de uma mudança na implementação, pois isso deixa suas classes com um baixo nível de acoplamento, dado que ele depende somente da interface e não da implementação propriamente dita.

Reginaldo_Junior2

Muito obrigado, o link seguinte explica exatamente oque você explicou em poucas(mas de forma eficiente) palavras. Obrigado mesmo.

Java - Injeção de Dependências (Simples, sem uso de frameworks) - YouTube

Criado 14 de março de 2021
Ultima resposta 14 de mar. de 2021
Respostas 2
Participantes 2