A associação composição obriga a exclusão da parte na exclusão do todo. Ja na agregação a parte permanece após a exclusão do todo.
@marciopetry10 ай бұрын
Perfeito, amigo! Exatamente! 👍🤜🤛
@luizcarlosgoncalvessilva92872 ай бұрын
Penso, no mundo real todos esses caso são Associação com particularidades. Exemplos: chef tem faca, mas usa; carro tem radio, mas nem sempre e não usa; A NF tem Itens , existe uma relação de dependencia. São pequenas particularidades que para descobrir em um primeiro momento passam despercebidos ate se use uma lupa. Será que faz diferença significativa no desenvolvimento????
@marciopetry2 ай бұрын
Boa noite Luiz! Obrigado pelo contato. Tem impacto no desenvolvimento sim! O tipo de Associação (Simples, Agregação ou Composição) dizem respeito diretamente à forma como são codificados e aplicados métodos construtores, por exemplo. O modelo dita a semântica que por sua vez orienta a técnica de codificação (acoplamento) correspondente. 👍🙏 Um abraço, grato novamente pelo contato. Petry
@diegofelix9738 Жыл бұрын
Olá, professor! Na agregação, se o carro deixar de existir, não significa que o rádio também deixará de existir. Já na composição, se a nota fiscal deixar de existir, o item da nota fiscal também não existirá. A nota fiscal sempre precisa ter pelo menos um item ou mais. Estou certo? Obrigado!
@marciopetry Жыл бұрын
Perfeito, Diego! Isso mesmo!! 👏👏
@magnomani5865 Жыл бұрын
Parabéns!
@marciopetry Жыл бұрын
Olá Magno. Obrigado.
@magnomani5865 Жыл бұрын
@@marciopetry É como se, depois de uma longa viagem na procura de esclarecimento sobre o assunto, cheguei ao destino! Foi um sofrimento, mas já cheguei, ou seja, finalmente entendi!
@euiveteandrade2 жыл бұрын
👏🏻👏🏻👏🏻👏🏻
@muriloleiteprieto968711 ай бұрын
Professor, só para sanar dúvidas, na associação um objeto pode existir sem dependências, a faca pode existir sem um cozinheiro e vice versa. Na Agregação você possui objetos que possuem certas dependências porem podem existir sem o outro, no caso o radio do carro pode existir sem um carro, mas ele não terá 100% das funcionalidades já que possui algumas dependências. A logica esta correta?
@marciopetry11 ай бұрын
Correto Murilo. Temos que observar no exemplo dado que o rádio do carro continua existindo, mas sua "existência" (semântica) só fará sentido quando ele estiver novamente numa relação associativa por agregação com outro veículo! todo-parte. no caso, rádio é uma "parte", então sim, seu raciocínio está corretíssimo. Muito obrigado pelo contato e pela visita ao canal! Abração. Petry
@MariliaCavenaghi11 ай бұрын
Olá Prof! Na agregação o todo contiua a existir se a parte for destruída, e vice-versa. Já na composição o todo deixa de existir se a parte é destruída e, vice-versa. Tenho uma dúvida quanto a herança: necessariamente TODOS atributos de uma classe filha são herdados da classe mãe? E quando eu preciso usar um atributo de uma classe filha para o cálculo de um atributo da classe mãe? Contextualizando: estou consitruindo um diagrama de classes para a avaliação econômica de projetos de plantas químicas. Preciso calcular os custos de capital de investimento, que é divido em subclasses, que por sua vez são divididos por subclasses. Também preciso calcular os custos variáveis, que também possuem subclasses. Minha dúvida é sobre como diferenciar uma subclasse (herança) e uma composição, visto que possuo um atributo comum de preço/custo em comum para todas essas classes/subclasses, mas atributos específicos para o cálculo de algumas dessas subclasses.
@marciopetry11 ай бұрын
Olá Marília, obrigado pelo contato! Sim, todos os atributos das "superclasses" são herdados nas classes filhas (subclasses), mesmo atributos privados, se assim estiverem declarados. Correto. Os métodos de cálculo, considerando esse seu contexto, também são herdados da mesma forma. No entanto, os métodos herdados podem aplicar sobrescrita (overriding) na classe filha, especializando o cálculo originalmente herdado da superclasse. Essa técnica se chama comportamento polimórfico e proporciona muita flexibilidade e aproveitamento de código. Acredito seja bem interessante para essa sua necessidade de calculos específicos e aprimorados, na medida que você implemente uma relação de herança entre classes bem coesa, tudo bem? Novamente muito obrigado pelo contato. Espero ter esclarecido sua dúvida.
@marciopetry11 ай бұрын
kzbin.info/www/bejne/ipytd4aLndiCjK8 por gentileza dê uma consultada nesse meu vídeo sobre a técnica de Overriding de métodos. Acho que pode lhe dar algum insight para sua necessidade. Abração. Petry
@MariliaCavenaghi11 ай бұрын
@@marciopetry muito obrigada pela resposta. Na verdade, estava com dúvida entre quando usar herança e quando usar composição, pois me parecem similares e a questão dos atributos e métodos eram a principal fonte de dúvidas. No entanto, vi em outros canais que é recomendado evitar o uso de herança sempre que possível e essa dica resolvei meu problema rsrs mas acho que em algum momento a dúvida de quando usar herança vai retornar novamente. Abs e obrigada!
@marciopetry11 ай бұрын
Ah ok, perfeitamente! Ambas abordagens conseguem modelar a solução, embora o uso de herança promova um forte acoplamento. Na contrapartida pode gerar melhorar aproveitamento de código (overriding de métodos) e aplicação de polimorfismo. Mas sim, há possibilidade de modelagem tanto associativa quanto por subclassificação (herança). Um abraço e obrigado novamente pela visita! 🙏