composição

6 respostas
C

Teria como alguém me passar um exemplo de composição por gentileza.
obrigado.

6 Respostas

ViniGodoy

Uma das grandes composições de Bach:

ViniGodoy

Brincadeiras a parte:

public class Carro {
   private Motor motor;

   public Carro(Motor motor) {
      if (motor == null)
         throw new IllegalArgumentException("Um carro tem um motor!");
      this.motor = motor;
   }
}

Aí está a composição entre o carro e o motor.

C

agora não saquei,to estudando herança e me falaram que e melhor usar composição,ainda não entendi a vantagem. Se isso que tu me passou é composição então uso direto composição sem saber o que era.

fantomas

Oi cleber_zeh,

A coisa não é tão simples assim; vale a pena vc fazer uma pesquisa sobre o assunto para tirar algumas conclusões, segue abaixo 2 links pra vc começar

http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/herancavscomposicao.htm
http://www.javaworld.com/jw-11-1998/jw-11-techniques.html

flw

Andre_Brito

Oi.

Eu não entendi uma coisa

Se eu mudar o tipo de retorno do método getPeel() para Peel, vai resultar em erro no código da classe Apple e eu teria que mudar a interface dela para retornar um objeto do tipo Peel e, assim, o código da classe Example2 “quebraria”. Não entendi isso… Assim, eu sempre vou ter que mudar alguma coisa da classe front-end, certo?

[editado]
Eu acho que vai depender do momento. As vezes a herança cai melhor, as vezes a composição. Mas sei lá hein… [/editado]

B

O problema é que com a herança, mudanças na classe pai podem vir a quebrar as classes filhas. Essa quebradeira acontece principalmente quando a herança é usada para agregar funcionalidade, e não especializar um comportamento.

Sem falar que com a herança você herda todas as responsabilidades de seus ancestrais, mesmo que não queira. Vira uma bola de neve.

São todos aqueles problema que vêm do forte acoplamento entre as classes.

Criado 10 de agosto de 2008
Ultima resposta 11 de ago. de 2008
Respostas 6
Participantes 5