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.
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
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.
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.
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. |
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.
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
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í
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