Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

duvida na representação UML das classes anonimas e outros itens

Bom dia colegas estudantes e ilustres professores tenho acompanhado as aulas e minha motivação no inicio foi a representação em UML dos elementos de software que estamos construindo ao longo das aulas.

Entretanto como essa abordagem de construir o código e depois a codificação ou vice versa foi deixado de lado para dar uma maior ênfase ao código o que é compreensivo.

Estou fazendo um esforço para fazer as modelagem do pacotes e seus conteúdos, porque me ajuda entender como construir um outro software depois. Estou acostumado com plantas de circuitos elétricos e eletrônicos e o e a representação.

Estou com duvidas como representar uma classe abstrata e os seus relacionamentos com classes estou com dificuldade em entender a diferença no código entre composição e agregação.

Outra coisa como consigo observar no código qual o relacionamento entre duas classes por exemplo se é um para um .. um para muitos.

Fui um pouco longo ..mas gostaria de pelo menos dicas para tentar ajudar. Grato pela atenção fiquem todos bem...

1 resposta
solução!

Olá Wagner, tudo bem com você?

Vou tentar auxiliar em suas dúvidas :)

Estou com duvidas como representar uma classe abstrata e os seus relacionamentos com classes

Representamos classes abstratas na UML da mesma maneira, a única diferença é que o nome da classe será indicado com itálico, e os relacionamentos continuam da mesma forma

Em relação a classe anônima, acredito que normalmente iremos utilizar em um diagrama de objetos, e neste caso iremos indicar que se trata de um objeto anônimo utilizando : antes do nome da classe a que ele pertence

Ex: :ClasseAnonima

Aqui um pouco mais sobre o Diagrama de Objetos

Estou com dificuldade em entender a diferença no código entre composição e agregação.

Realmente nem sempre será tão visível no código esse tipo de relação, isso é até uma das vantagens e necessidades de termos o nosso código documentado, pois as relações que não são tão visíveis no código se tornam mais fáceis (principalmente a relação de 1 para 1, 1 para muitos, etc.)

Então muitas vezes ao bater o olho no código não vamos identificar de primeira qual o tipo de relação que os objetos tem, mas podemos enxergar da seguinte maneira:

  • Composição: como representa uma relação forte entre parte-todo, onde a parte não "sobrevive" sem o todo

Tipicamente em nosso código será quando criamos um objeto de uma classe para utilizar em outro e não faz sentido criar esse objeto se não para isso, por exemplo:

Suponha que tenhamos uma classe Transação e todos os métodos dela dependem de uma Conta, temos uma relação forte onde a parte depende do todo e não iremos criar uma transação se não para isso :)

  • Agregação: representa uma relação parte-todo, onde a parte pode existir sem o todo

Isto é, podemos utilizar um objeto com outra classe, mas eles não dependem um do outro para existir, por exemplo: Uma classe Eletrodoméstico e uma classe Loja, por mais que eles possam ser agregados, um sobrevive sem o outro

Agora uma recomendação :)

Se você gosta dessa parte de UML e acredita que auxilia no seu aprendizado, aqui na alura nós temos alguns cursos focados apenas nessa ferramenta :)

Abraços e Bons Estudos!