1
resposta

Alternativa à interface Acao

Primeiramente, parabéns pelo conteúdo do curso!

Minha dúvida é a seguinte, considerando a linha abaixo:

Acao acao = (Acao) classe.newInstance(); 

Acao não é instanciada (afinal é uma interface), então, seria possível obter o mesmo resultado criando uma Classe Abstrata Acao com o método abstrato executa da qual todas as ações herdariam? Seria melhor que usar uma interface?

1 resposta

Oie Caio, tudo bem contigo?

Perdão pela demora.

Sim, usando uma classe abstrata o resultado seria exatamente o mesmo.

Na questão de desempenho não haveria diferença em usar uma outra, entretanto a maioria dos programadores optam por sempre usar a composição e a interface ao invés da herança. Isso acontece, pois a herança frequentemente acaba quebrando o encapsulamento se não tiver sido aplicada corretamente.

Caso seja do seu interesse temos um artigo na Caelum que trata sobre a preferencia do uso da composição e da interface ao invés da herança, clique aqui para ler.

Qualquer dúvida ou problema fico a disposição :)

Bons estudos!