Interface, Agregaçao e Herança

5 respostas
S

primeiramente Bom dia Para todos!!!

galera Gostaria de saber de vcs

qual o melhor conceito ou qual é melho conceito para implementar em um projeto:

INTERFACE, AGREGAÇÃO ou HERANÇA

to fazendo alguns projetos de escola msm

sempre tenho duvida entre agregação e Interface

Sei q interface Simula a Herança multipla e nela so trabalho com constantes e metodos abstratos!!

Agregaçao é uma classe "livre ou idependete " e msm assim consigo acessa-la ou de certa forma “herdar seu atributos”(sei q esse naum é a melhor forma de expressa-la)

bom gostaria da opinião de vcs!!

5 Respostas

ViniGodoy

Em ordem de preferência:

  1. Associação
  2. Interface
  3. Herança

O ideal é criar relações fracas entre as classes. A herança, por exemplo, cria uma relação muito profunda, pois classes compartilham atributos e comportamento. É muito difícil alterar uma classe Pai sem gerar impactos nos filhos.

x111

ViniGodoy:
Em ordem de preferência:

  1. Associação
  2. Interface
  3. Herança

O ideal é criar relações fracas entre as classes. A herança, por exemplo, cria uma relação muito profunda, pois classes compartilham atributos e comportamento. É muito difícil alterar uma classe Pai sem gerar impactos nos filhos.

Como complemento sugiro que leia o livro Use a Cabeça padrões de Projeto.

Na verdade não existe um “Conceito Melhor”, cada caso é um caso e deve ser bem avaliado. A Herança se bem usada pode ser muito util, o padrão Template Method é um exemplo bom exemplo de uso adequado da herança.

O Viny esta completamente certo no que disse, mas isso ocorre principalmente pelo mal uso da herança. De preferência sempre a composição (associção) de objetos a herança.

S

x@ndy:
ViniGodoy:
Em ordem de preferência:

  1. Associação
  2. Interface
  3. Herança

O ideal é criar relações fracas entre as classes. A herança, por exemplo, cria uma relação muito profunda, pois classes compartilham atributos e comportamento. É muito difícil alterar uma classe Pai sem gerar impactos nos filhos.

Como complemento sugiro que leia o livro Use a Cabeça padrões de Projeto.

Na verdade não existe um “Conceito Melhor”, cada caso é um caso e deve ser bem avaliado. A Herança se bem usada pode ser muito util, o padrão Template Method é um exemplo bom exemplo de uso adequado da herança.

O Viny esta completamente certo no que disse, mas isso ocorre principalmente pelo mal uso da herança. De preferência sempre a composição (associção) de objetos a herança.

Blz

obrigado pela as dicas

vlw!!!

ViniGodoy

Leia também essa entrevista interessante que o Erich Gamma (um dos autores do livro de design patterns e criador do Eclipse e o JUnit) fala sobre o assunto:
http://www.artima.com/lejava/articles/designprinciples.html

S

mais uma pergunta

tenho hospede que recebe agregação de NotaFiscal

posso nessa classe notaFiscal usar uma interface nela

e assim a classe hospede receber esses valores da interface

Criado 27 de junho de 2011
Ultima resposta 27 de jun. de 2011
Respostas 5
Participantes 3