¿Qué es la composición sobre la herencia?

La composición

sobre la herencia es una metodología de programación que se utiliza en lenguajes de programación orientados a objetos para ayudar a establecer relaciones más dinámicas y cambiantes entre los objetos en una aplicación. El formato básico para la composición sobre la herencia es la inclusión de una instancia de un objeto dentro de otro objeto. Esto es claramente diferente del método de herencia orientado a objetos, pero puede servir al mismo propósito en muchos modelos. Las ventajas de la composición sobre la herencia incluyen bordes bien definidos entre los objetos compuestos y los objetos de envoltura, la capacidad de cambiar la implementación de un objeto sin afectar una jerarquía de herencia completa y un marco menos restrictivo para el diseño inicial del programa. Sin embargo, algunas de las complicaciones podrían incluir dificultad en la serialización y estructuras demasiado complejas en programas grandes y establecidos.

en orientación de objetosProgramación ED, uno de los rasgos que es importante para establecer durante el diseño es cómo los diferentes objetos se relacionan entre sí. La herencia es un mecanismo central en la programación orientada a objetos y permite que un objeto herede todos los datos y métodos de su padre, que luego puede agregar, modificar o extender con su propia implementación. Un ejemplo de diseño basado en la herencia podría ser con un programa que tiene una clase principal que define un automóvil y modela algunos atributos genéricos de todos los automóviles. La clase para cada marca individual de automóvil se realiza como descendiente de la clase principal, pero define información específica, como el tamaño del motor, la capacidad de combustible u otra información específica para esa marca particular de automóvil.

. La composición

se expresa incluyendo instancias de objetos dentro de otros objetos. Si hay una clase principal que define un automóvil genérico, entonces, en lugar de crear subclases para marcas de automóviles específicas, la clase principal podría contener instancias de otros objetos que definenE el auto más específicamente. Esto podría significar que la clase de automóvil principal podría contener un objeto para el tipo de motor y uno para la capacidad de combustible, que se establecería cuando la clase se use para crear una instancia de una marca específica de automóvil.

Con la composición sobre la herencia, los objetos que están contenidos en la clase principal no están directamente relacionados con la clase principal, lo que brinda a los desarrolladores la libertad de cambiar la forma en que funcionan los objetos individuales. Un problema que la composición sobre la herencia puede ayudar a prevenir es una situación en la que un árbol de herencia puede ser excesivamente profundo, lo que significa que cualquier modificación a una clase en el árbol podría requerir cambios a lo largo del árbol. No todos los idiomas orientados a objetos tienen soporte para múltiples herencias, y la composición sobre la herencia es un método que puede usarse para trabajar en torno a esta restricción.

OTROS IDIOMAS