Diferencia entre herencia múltiple y multinivel

Tabla de contenido:

Diferencia entre herencia múltiple y multinivel
Diferencia entre herencia múltiple y multinivel

Video: Diferencia entre herencia múltiple y multinivel

Video: Diferencia entre herencia múltiple y multinivel
Video: Tips Python: Herencia y herencia multiple 2024, Mes de julio
Anonim

Diferencia clave: herencia múltiple frente a multinivel

La Programación Orientada a Objetos (POO) es un paradigma para diseñar un programa utilizando clases y métodos. Los escenarios del mundo real se pueden asignar a objetos. Por lo tanto, es fácil construir soluciones de software. Una clase es un modelo para construir un objeto. Contiene propiedades y métodos. Por ejemplo, antes de crear un objeto estudiante, debe haber una clase estudiante con propiedades y métodos. Un estudiante puede tener propiedades como identificación de estudiante, nombre y métodos como leer, escribir, estudiar. Los métodos describen el comportamiento mientras que las propiedades son los atributos. Después de crear la clase, es posible crear objetos usándolos. La creación de objetos también se conoce como creación de instancias de objetos. El objeto no existe de forma aislada. Se comunican con otros objetos y los datos se pasan dentro de los objetos. Un pilar de la programación orientada a objetos es la herencia. El propósito de la herencia es aumentar la reutilización del código. Crea una nueva clase de propiedades y métodos de la clase ya existente. La clase existente se conoce como clase base y la nueva clase se denomina clase derivada. La herencia múltiple y la herencia multinivel son tipos de herencia. Este artículo analiza la diferencia entre ellos. La diferencia clave entre la herencia múltiple y la herencia multinivel es que la herencia múltiple es cuando una clase hereda de muchas clases base, mientras que la herencia multinivel es cuando una clase hereda de una clase derivada, lo que convierte a esa clase derivada en una clase base para una nueva clase.

¿Qué es la herencia múltiple?

La herencia múltiple es cuando una clase hereda más de una clase base.

Diferencia entre herencia múltiple y multinivel
Diferencia entre herencia múltiple y multinivel

Figura 01: Herencia múltiple

A B y C son clases. A y B son clases base y C es la clase derivada. La clase C tiene que administrar la dependencia de las clases base A y B. Las herencias múltiples no se usan mucho en los proyectos de software. Hace que el sistema sea más complejo porque una clase hereda muchas clases.

Por ejemplo, suponga que las clases A y B tienen un método con el mismo nombre que es sum() y la clase C deriva ambas clases. Después de crear un objeto de tipo C y llamar al método sum (), puede causar un error porque ambas clases tienen el mismo método. El compilador no sabe a qué función llamar. Por lo tanto, la Herencia Múltiple aumenta la complejidad de un sistema. La herencia múltiple es compatible con el lenguaje C++, pero los lenguajes como Java, C no son compatibles con la herencia múltiple. En cambio, estos lenguajes usan una interfaz que es similar a una clase pero no se puede instanciar.

¿Qué es la herencia multinivel?

La herencia multinivel es cuando una clase hereda de una clase derivada y convierte a esa clase derivada en una clase base para una nueva clase.

Diferencia clave entre herencia múltiple y multinivel
Diferencia clave entre herencia múltiple y multinivel

Figura 02: Herencia multinivel

La herencia multinivel tiene tres niveles. La clase intermedia que B hereda de la clase A y la clase C hereda de la clase B. A es la clase base para B y B es la clase base para C.

Un programa que implementa herencia multinivel es el siguiente. El programa está escrito usando Java.

Diferencia entre herencia múltiple y multinivel_Figura 03
Diferencia entre herencia múltiple y multinivel_Figura 03

Figura 03: Programa que implementa herencia multinivel

Según el programa anterior, la clase A es la clase base para la clase B. La clase B es la clase base para la clase C. La clase B puede acceder a todas las propiedades y métodos de la clase A. Todas las propiedades y métodos de la clase B es accesible por la clase C. Por lo tanto, la clase C puede acceder a las propiedades y métodos de A y B. Al crear un objeto de tipo C, es posible llamar a los tres métodos A (), B () y C (). La salida dará A, B, C.

¿Cuál es la similitud entre la herencia múltiple y multinivel?

Ambos son tipos de Herencia

¿Cuál es la diferencia entre la herencia múltiple y multinivel?

Herencia múltiple frente a herencia multinivel

La herencia múltiple es un tipo de herencia donde una clase hereda de más de una clase base. La herencia multinivel es un tipo de herencia que hereda de una clase derivada, lo que convierte a esa clase derivada en una clase base para una nueva clase.
Uso
La herencia múltiple no se usa mucho porque hace que el sistema sea más complejo. La herencia multinivel es muy utilizada.
Niveles de clase
La herencia múltiple tiene dos niveles de clase: clase base y clase derivada. La herencia multinivel tiene tres niveles de clase, a saber, clase base, clase intermedia y clase derivada.

Resumen: herencia múltiple frente a multinivel

La herencia es un pilar importante de la Programación Orientada a Objetos. Existen diferentes tipos de Herencia; son Herencia de un solo nivel, Herencia multinivel, Herencia múltiple, Herencia jerárquica y Herencia híbrida. La herencia de un solo nivel tiene una clase base y una clase derivada. La herencia jerárquica tiene una clase base y muchas clases derivadas. La Herencia Híbrida es una combinación de Herencia Multinivel y Múltiple. Este artículo describió la diferencia entre herencia múltiple y herencia multinivel. La diferencia entre las herencias Múltiple y Multinivel es que la Herencia Múltiple es cuando una clase hereda de muchas clases base, mientras que la Herencia Multinivel es cuando una clase hereda de una clase derivada, lo que convierte a esa clase derivada en una clase base para una nueva clase. La herencia multinivel se usa mucho más que la herencia múltiple.

Descargue el PDF Herencia múltiple frente a multinivel

Puede descargar la versión en PDF de este artículo y utilizarlo sin conexión según la nota de la cita. Descargue la versión en PDF aquí Diferencia entre herencia múltiple y multinivel

Recomendado: