Diferencia entre la herencia múltiple y multinivel

Diferencia entre la herencia múltiple y multinivel

Diferencia de claves: herencia múltiple vs multinivel
 

La programación orientada a objetos (OOP) 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 plan para construir un objeto. Contiene propiedades y métodos. Por ejemplo, antes de crear un objeto de estudiante, debe haber un estudiante de clase 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 usando ellos. La creación de objetos también se conoce como instanciación 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 OOP 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 la clase base, y la nueva clase se llama clase derivada. La herencia múltiple y la herencia multinivel son tipos de herencia. Este artículo analiza la diferencia entre ellos. El diferencia clave Entre la herencia 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 herede de una clase derivada que hace que una clase de clase derivada de una nueva clase para una nueva clase.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es la herencia múltiple?
3. ¿Qué es la herencia multinivel?
4. Similitudes entre la herencia múltiple y multinivel
5. Comparación lado a lado: herencia múltiple vs multinivel en forma tabular
6. Resumen

¿Qué es la herencia múltiple??

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

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 ambas clases base A y B. Múltiples herencias no se usan ampliamente en proyectos de software. Hace que el sistema sea más complejo porque una clase está heredando muchas clases.

Por ejemplo, suponga que la clase A y B tienen un método con el mismo nombre que es la suma () y la clase C está derivando ambas clases. Después de crear un objeto de método tipo C y llamar a 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 idiomas como Java, C# no admiten la herencia múltiple. En cambio, estos idiomas 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 que hace que la clase de clase derivada de una nueva clase para una nueva clase.

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 la herencia multinivel es la siguiente. El programa está escrito usando Java.

Figura 03: Programa que implementa la 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. Todas las propiedades y métodos de la clase A se pueden acceder a la clase B. Se puede acceder a todas las propiedades y métodos de la clase B por la Clase C.  Por lo tanto, la clase C puede acceder a 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 vs 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 hace que esa clase base derivada de clase A para una nueva clase.
 Uso
La herencia múltiple no se usa ampliamente porque hace que el sistema sea más complejo. La herencia multinivel se usa ampliamente.
Niveles de clase
La herencia múltiple tiene dos niveles de clase, a saber, clase base y clase derivada. La herencia multinivel tiene tres niveles de clase, a saber, clase base, clase intermedia y clase derivada.

Resumen - Múltiples vs herencia 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 nivel único 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últiples. Este artículo describió la diferencia entre la herencia múltiple y la herencia multinivel. La diferencia entre las herencias múltiples 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 hace que esa clase de clase derivada de una nueva clase sea una nueva clase. La herencia multinivel se usa ampliamente que la herencia múltiple.

Descargue el PDF múltiples vs herencia multinivel

Puede descargar la versión PDF de este artículo y usarla para fines fuera de línea según la nota de cita. Descargue la versión PDF aquí Diferencia entre la herencia múltiple y multinivel

Referencia:

1.Singh, Chaitanya, et al. "Tipos de herencia en Java: simple, múltiple, multinivel e híbrido."Bookbook.com, 6 de diciembre. 2013. Disponible aquí
2.punto de tutorial.comunicarse. "Herencia de Java." El punto. Disponible aquí 

Imagen de cortesía:

1.'Herencia múltiple' por Suman Maverick Gangulian Suman420 - Trabajo propio, (CC por 3.0) a través de Commons Wikimedia 
2.'Herencia multinivel' Autor: Suman Maverick Gangulian Suman420 (charla) 12:03, 2 de marzo de 2015 (UTC) - Trabajo propio, (CC por 3.0) a través de Commons Wikimedia