O que é composição sobre a herança?

Composição sobre herança é uma metodologia de programação usada em linguagens de programação orientadas a objetos para ajudar a estabelecer relações mais dinâmicas e mutáveis ​​entre objetos em um aplicativo. O formato básico para a composição sobre a herança é a inclusão de uma instância de um objeto dentro de outro objeto. Isso é distintamente diferente do método de herança orientado a objetos, mas pode servir ao mesmo objetivo em muitos modelos. As vantagens da composição sobre a herança incluem fronteiras bem definidas entre os objetos compositados e os objetos do wrapper, a capacidade de alterar a implementação de um objeto sem afetar uma hierarquia inteira de herança e uma estrutura menos restritiva para o design inicial do programa. Algumas das complicações, no entanto, podem incluir dificuldades na serialização e estruturas excessivamente complexas em programas grandes e estabelecidos.

No Orient do ObjetoA programação de ED, uma das características que é importante para estabelecer durante o design, é como os diferentes objetos se relacionam. A herança é um mecanismo central na programação orientada a objetos e permite que um objeto herde todos os dados e métodos de seus pais, aos quais ele pode adicionar, modificar ou estender com sua própria implementação. Um exemplo de design baseado na herança pode ser com um programa que possui uma classe principal que define um carro e modela alguns atributos genéricos de todos os carros. A classe para cada marca individual de carro é então feita como descendente da classe principal, mas define informações específicas, como tamanho do motor, capacidade de combustível ou outras informações específicas para essa marca específica de carro.

A composição é expressa incluindo instâncias de objetos em outros objetos. Se houver uma classe principal que define um carro genérico, em vez de criar subclasses para marcas de carro específicas, a classe principal poderá conter instâncias de outros objetos que definitivamentee o carro mais especificamente. Isso pode significar que a classe principal de carros pode conter um objeto para o tipo de motor e um para a capacidade de combustível, que seria definido quando a classe for usada para criar uma instância de uma marca específica de carro.

Com a composição sobre a herança, os objetos que estão contidos na classe principal não estão diretamente relacionados à classe principal, dando aos desenvolvedores a liberdade de mudar a maneira como os objetos individuais funcionam. Uma questão de que a composição sobre a herança pode ajudar a prevenir é uma situação em que uma árvore de herança pode ser excessivamente profunda, o que significa que quaisquer modificações em uma classe na árvore podem exigir mudanças no comprimento da árvore. Nem todos os idiomas orientados a objetos têm suporte para múltiplas heranças, e a composição sobre a herança é um método que pode ser usado para contornar essa restrição.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?