En la programación orientada a objetos (OOP), el sistema se modela utilizando objetos. Estos objetos se crean usando una clase. Una clase es un plan o una descripción para crear un objeto. La creación de objetos también se conoce como instanciación de objetos. Cada objeto se comunica con otros objetos. Se puede desarrollar un programa o software utilizando la programación orientada a objetos. La herencia es un concepto importante en OOP. Mejora la reutilización del código. En lugar de implementar un programa desde el principio, permite heredar propiedades y métodos de la clase ya existente a una nueva clase. Ayuda a hacer que el programa sea más manejable. Superclase y subclase son dos términos relacionados con la herencia. Este artículo discute la diferencia entre superclase y subclase. El diferencia clave Entre la superclase y la subclase está que SuperClass es la clase existente de la que se derivan las nuevas clases, mientras que la subclase es la nueva clase que hereda las propiedades y métodos de la superclase.
1. Descripción general y diferencia de claves
2. Que es superclase
3. Que es la subclase
4. Similitudes entre superclase y subclase
5. Comparación de lado a lado - Superclase vs subclase en forma tabular
6. Resumen
En herencia, la clase existente a partir de la cual se derivan las nuevas clases se conoce como la superclase. También se conoce como clase principal o clase base.
Hay diferentes tipos de herencia. Se ilustran utilizando los siguientes ejemplos. Considere A B y C como clases.
Figura 01: Tipos de herencia
Figura 02: Herencia híbrida
Según los diagramas anteriores, las superclase varían de cada tipo de herencia. En la herencia de un solo nivel, A es la superclase. En la herencia multinivel, A es la superclase para B y B es la superclase para C. En la herencia jerárquica A es la superclase para B y C. En herencias múltiples, tanto A como B son superclase para C.
La herencia híbrida es una combinación de herencias de nivel múltiple y múltiples. En el diagrama lateral izquierdo, A es la superclase para B, C y B, C son las superclase para D. En el diagrama lateral de la derecha, A es la superclase para B y B, D son superclase para C.
Consulte el siguiente programa escrito en Java.
Figura 03: Programa de herencia en Java
De acuerdo con el programa anterior, los métodos de clase A tienen sum () y sub (). El método de clase B tiene (). Clase B está extendiendo la Clase A. Por lo tanto, las propiedades y métodos de la Clase A son accesibles para la Clase B. Por lo tanto, la clase A es la superclase. El tipo de referencia de la clase B se toma para crear el objeto. Entonces, todos los métodos como Sum (), Sub () y Multiply () son accesibles por el objeto. Si se usa el tipo de referencia de superclase para la creación de objetos, los miembros de la clase B no pueden ser accesibles. mi.gramo. A obj = nuevo B (); Por lo tanto, la referencia de superclase no puede llamar al método multiplicar () porque ese método pertenece a la clase B.
Según los diagramas anteriores, las subclases varían de cada tipo de herencia. En una sola herencia, B es la subclase. En la herencia multinivel, B es la subclase de A y C es la subclase de B. En la herencia jerárquica B y C son subclases de un. En múltiples herencias, C es la subclase para A y B.
En la herencia híbrida, el diagrama en la izquierda, B y C son subclases de A. D es la subclase de B y C. En el diagrama a la derecha, B es la subclase para un. C es la subclase de B y D.
De acuerdo con el programa de herencia anterior, la clase B está extendiendo la Clase A. Por lo tanto, todas las propiedades y métodos de la Clase A son accesibles para la Clase B. La clase B es la nueva clase que hereda de la clase A. Se conoce como la subclase. También se conoce como la clase infantil o la clase derivada. La clase B tiene el método Multiply () y también puede acceder a los métodos Sum () y sub () de la Clase A utilizando la herencia.
Superclase vs subclase | |
Al implementar la herencia, la clase existente de la que se derivan las nuevas clases es la superclase. | Al implementar la herencia, la clase que hereda las propiedades y métodos de la superclase es la subclase. |
Sinónimos | |
SuperClass se conoce como clase base, clase matriz. | La subclase se conoce como clase derivada, clase infantil. |
Funcionalidad | |
Una superclase no puede usar las propiedades y métodos de la subclase. | Una subclase puede usar las propiedades y métodos de la superclase. |
Herencia de un solo nivel | |
Hay una superclase. | Hay una subclase. |
Herencia jerárquica | |
Hay una superclase | Hay muchas subclases. |
Herencia múltiple | |
Hay muchas superclase. | Hay una subclase. |
La herencia es un concepto de OOP. Permite el uso de propiedades y métodos de una clase existente para acceder a una nueva clase. La clase heredada es la superclase, y la clase derivada es la subclase. La diferencia entre la superclase y la subclase es que la superclase es la clase existente de la que se derivan las nuevas clases, mientras que la subclase es la nueva clase que hereda las propiedades y métodos de la superclase.
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 superclase y subclase
1."Herencia en Java - Javatpoint."El punto, disponible aquí
2.punto de tutorial.comunicarse. "Herencia de Java."El punto, disponible aquí