Perguntas com a marcação «composition»


5
Por que devo preferir composição a herança?
Eu sempre leio que a composição deve ser preferida à herança. Um post de blog sobre tipos diferentes , por exemplo, defende o uso da composição sobre a herança, mas não vejo como o polimorfismo é alcançado. Mas tenho a sensação de que, quando as pessoas dizem que preferem composição, …


5
Como a definição de que um método pode ser substituído é um compromisso mais forte do que a definição de que um método pode ser chamado?
De: http://www.artima.com/lejava/articles/designprinciples4.html Erich Gamma: Eu ainda acho que é verdade mesmo depois de dez anos. A herança é uma maneira legal de mudar o comportamento. Mas sabemos que é frágil, porque a subclasse pode facilmente fazer suposições sobre o contexto em que um método que substitui está sendo chamado. Existe …


8
“Preferir composição sobre herança” - é o único motivo para se defender contra alterações de assinatura?
Esta página defende composição sobre herança com o seguinte argumento (reformulado em minhas palavras): Uma alteração na assinatura de um método da superclasse (que não foi substituída na subclasse) causa alterações adicionais em muitos lugares quando usamos Herança. No entanto, quando usamos o Composition, a alteração adicional necessária ocorre apenas …



3
Composição sobre herança, mas
Estou tentando me ensinar engenharia de software e encontrar algumas informações conflitantes que estão me confundindo. Eu tenho aprendido OOP e o que são classes / interfaces abstratas e como usá-las, mas depois estou lendo que é preciso 'favorecer a composição sobre a herança'. Entendo que composição é quando uma …



5
Devo preferir composição ou herança neste cenário?
Considere uma interface: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Essa interface é implementada por várias classes que geram ondas de diferentes formas (por exemplo, SineWaveGeneratore SquareWaveGenerator). Quero implementar uma classe que gere uma SoundWavebase em dados musicais, não em dados brutos de som. Ele receberia o nome …

1
Existe uma situação em que seria melhor usar referências fracas em vez de composição simples?
Embora os docs Java especificar, que as referências fracas são principalmente para Canonicalização mapeamentos, você vai encontrar muitas , muitas , muitas pessoas na internet afirmando, que o WeakHashMap é perfeito para armazenar metadados objeto durante sua vida útil. No entanto, ninguém se preocupa em fazer um exemplo compreensível e …


9
Herança vs Composição de peças de xadrez
Uma pesquisa rápida dessa troca de pilha mostra que, em geral, a composição é geralmente considerada mais flexível que a herança, mas, como sempre, depende do projeto etc., e há momentos em que a herança é a melhor escolha. Quero fazer um jogo de xadrez 3D em que cada peça …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.