Dúvida de UML - Direcionais

Pessoal, alguém saberia me explicar qual é a diferença de uma composição ou agregação que tem uma flecha (direcional) na outra ponta da que não tem?

Pq me parece que uma composição ou agregação SEMPRE será direcional do que agrega para o agregado… a seta direcional só faz sentido em uma associação, ao meu ver.

Se puderem me tirar essa dúvida eu agradeço! :wink:

http://www.guj.com.br/posts/list/85835.java

espero ter ajudado.

Obrigado pela ajuda, mas não tirou minha dúvida não :?

Não sei se consegui me explicar direito, minha dúvida é a diferença entre:

composição X composição direcional
agregação X agregação direcional

essa flecha serve pra vc saber de quem é a responsabilidade de guardar a informação por exemplo:[

você tem uma classe carro que tem uma associação com a classe volante, e tem uma flecha com direção pra volante, algo como:

Carro ----> Volante

Isso significa que a responsabilidade de guardar a informação está na classe Carro, ou seja Carro terá um atributo que será do tipo Volante,
a classe carro contém a informção ela consegue enxergar volante porém Volante não consegue enxergar Carro.

Sim, numa associação isso faz sentido, como eu já havia dito…

mas eu vejo mtos casos em que isso é usado em composições e agregações. Mas nelas a direção vai ser SEMPRE igual oras, do agregador pro agregado… como no seu exemplo, se vc considerar as rodas de um carro sendo uma agregação com carro, o carro é o agregador, e ele SEMPRE vai guardar a informação de quais são seus agragados (rodas).

depende vc poderia guardar na roda a qual carro ela pertence, poderia ser bidirecional, tipo o carro ter um array de rodas e roda ter um atributo carro,
assim vc poderia navegar de uma roda pra qual carro ela pertence ou de carro quais as rodas que ele contém algo como:

Carro <----> Roda

depende da modelagem claro que geralmente vai se guardar em carro as rodas que ele contém é mais fácil mas também poderia não guardar, ao invés disso
guardar em roda a qual carro ela pertence so que ai vc teria que percorrer todas as rodas procurando as que pertence aquele carro para saber quais rodas o carro tem,
mais complicado do que guardar essa informação na classe carro mas poderia ser feito