Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Tema interface Vs Classe

Em todos os materiais que eu vejo, há muito pouco a se falar de Interface Vs Classe. Ainda não caiu a minha ficha. Não sei os reais benefícios no qual faria tamanha diferença. Em qual momento do meu projeto que eu vou pensar: Vou criar uma interface aqui ao invés de uma Classe ????

5 respostas
solução!

Boa tarde, Fabio! Como vai?

De forma simples e direta, eu sempre gosto de dar o seguinte exemplo:

Se vc quer herdar comportamentos e atributos predefinidos entre diversas classes, então vc irá precisar de uma classe mãe ( abstrata ou não, dependendo da situação em questão )!

Agora, se o seu caso é apenas compartilhar entre várias classes uma assinatura de método sem implementação padrão, então vc irá precisar de uma interface!

A mim, essa divisão deixa as coisas bem claras! O que vc acha?

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

E as classes abstratas?? Não são bem parecidas??

Desculpa a insistência ... kkkkk

É que eu nao fui muito com a cara da Interface...kkk

As classes abstratas permitem uma implementação padrão dos métodos que posteriormente serão herdados pelas classes filhas! Sendo assim, elas ficariam na primeira situação do exemplo que eu dei!

Eu fiz uma edição no meu primeiro comentário para poder deixar isso claro! Dá uma olhada!

As classes abstratas força a todos que herdarem a implementar. isso ne? A interface pelo que eu entendi não há esta necessidade.

Não, as classes abstratas possibilitam que vc crie um método com comportamento padrão! Dessa forma, quando alguém herda dessa classe, automaticamente já terá aquele método herdado, inclusive com o tal comportamento!

Já as interfaces não possibilitam definir um comportamento padrão para os métodos e sim apenas as suas assinaturas! Então, quando uma classe implementa uma interface ela ( a classe ) na realidade está se comprometendo ( assinando um contrato ) a dar um comportamento para aquele método da interface! Por isso as intefaces são consideradas como um contrato!