Composicao, agregacao, dependencia

Durante o levantamento de requisitos observou-se que, em relacionamento entre classes, existiam:

1- algumas que agregavam outras controlando seus tempos de vida;
2- alguns atributos de uma classe que eram outras classes;

respectivamente são:

a)agregacao e heranca
b)composicao e dependencia
c)heranca e dependencia
d)dependencia e agregacao
e)agregacao e composicao

Também fiquei interessado em saber essa daí…

Resposta ‘e’, eu acho prq:

1- algumas que agregavam outras controlando seus tempos de vida; 
  • pelo fato de já ter a palavra agregação na frase
  • pelo fato de controlar o tempo de vida
2- alguns atributos de uma classe que eram outras classes; 

Um atributo que é uma outra classe pode representar tanto composição quanto agregação, o que dependeria muito do contexto. Mas como no caso acima eu achei ser agregação, ficaria com esta resposta
De qualquer forma eu achei a pergunta muito nebulosa, e fico me questionando se realmente é possivel chegar a uma resposta inquestionavel.

aresposta é letra b) só nao me pergunte pq kkkkk

Vejamos se podemos ajudá-lo:

As três formas de relacionamento entre classes são:

[quote] :arrow: Associação - Os objetos são cientes uns dos outros, de modo que podem trabalhar juntos;

[quote] :arrow: Agregação:
1 - protege a integridade da configuração;
2 - funciona como uma única unidade;
3 - Controla através de um objeto - propaga para baixo;

[quote] :arrow: Composição:
Uma parte pode ser membro de somente uma configuração. A parte não pode fazer existir fora da configuração.[/quote][/quote]
[/quote]

Como uma classe controla o tempo da instância de outra classe, então eu acredito que o enunciado esteja querendo passar a idéia que este objeto (que sofre o controle) não pode existir fora do objeto que exerce o controle. Daí a composição (mas estão forçando um pouco a barra aqui, isto mais parece erros de tradução).

Com relação ao segundo item, o texto também está bastante truncado, veja, quantas classes que você implementou possui atributos que eram outras classes (no primeiro momento eu pensei em classes internas). Mas alguns design patterns faz uso deste conceito, por exemplo na API JCE do java que busca um arquivo de propriedades para definir de qual classe ele irá criar uma instância…). Agora se definirmos um atributo como Class, este atributo terá dependência com todas as classes do java e da aplicação?

Este seu exercício parece ser um daqueles ótimos para demonstrar UML ou conceitos de OO mas que sào díficeis de aplicar (implementar) em linguagens OO.

fw

na verdade essa foi uma questão de prova do MPU p/ analista de desenvolvimento !!

vlw mesmo pelos toques, ajudou a clarear as idéias. A questão é meio confusa realmente , concordo ! o 2º item principalmente …