Interfaces versus Herança

9 respostas
W

Herança ou interface ? eis a questão

Muitos autores renomados dizem que herança quebra o encapsulamento e muitos programadores concordam com isso.

Eu poderia substituir toda a minha herança por interfaces ? qual a vantagem e desvantagem ?.

Dizem que ao utilizam interface, ganhamos mais polimorfismo.

Dizem que herança gera muito aclopamento de classes.

Meu professor de java diz que a herança não quebra o encapsulamento se usarmos métodos privados quando possível.

Muitos consideram a herança “maléfica” é correto afirmar isso ?.

James Gosling, o pai do java, disse uma vez: “Ao invés de uma subclasse, é só usar interfaces puro. Não é tanto que a herança de classe é particularmente ruim. Ele só tem problemas”.

Eis a questão senhoras e senhores programadores de java, o que vocês acham? quais as opiniões de vocês ?

Grato.

9 Respostas

A

Cara… Essa discurssão é bem longa mesmo… Eu sou a favor que o Projeto seja estudado e Prototipado… nessas horas a UML ajuda e eu ainda funciono bem olahdno um Diagrama de Classes…

Agora uma coisa é verdade, desde que entendi Interfaces a fundo, nunca mais usei Herança em meus Projetos, já fazem uns 4 Projetos…

Abs []

M

O conceito mais utilizado aqui na empresa é programação para interface, pelo fato de possibilitar um acoplamento fraco, sem contar que a amnutenção se torna mais fácil. :wink:

W

Bacana,

com base no depoimento de vocês, percebo que interface é realmente a melhor opção

estou começando a estudar interfaces e resolvi fazer este post para ter certeza de que os comentarios eram corretos ou não

D

Há de se tomar cuidado também ao utilizar interfaces, já vi cada código porco por ai de nego lotando de interfaces só para falar que usou quando na verdade não tinha a menor necessidade, em resumo o sistema ficou engessado ao máximo como nunca vi igual.

M

Eu utilizo os 2, cada um tem sua aplicação.

Tem casos que a Interface resolve, outros a especialização é mais apropriada.

Inté.

J

Não é uma questão de ser melhor ou não. Existem problemas que só podem ser resolvidos com uso de interfaces e outros com herança.

A questão do polimorfismo por exemplo.

A

justamente wamp…

preste atenção que eu lhe falei que o Projeto deve ser estudado… Sempre… há casos e casos…

Ainda a pouco (depois de lhe responder) achei um caso de Herança… não em projeto meu, mas sim em manutenção e realmente o mesmo tá mais pra herança…

Abs []

W

A tah, tô entendendo

não podemos desprezar a herança totalmente

antes é necessário uma boa análise com a ajuda da UML pra decidirmos qual será a melhor, né ?

legal gente :slight_smile:

J

wampactimus:
A tah, tô entendendo

não podemos desprezar a herança totalmente

antes é necessário uma boa análise com a ajuda da UML pra decidirmos qual será a melhor, né ?

legal gente :)

Herança não é para ser desprezada, é para ser usada, da mesma forma que a interface. São coisas diferentes.

Criado 21 de março de 2011
Ultima resposta 21 de mar. de 2011
Respostas 9
Participantes 6