Diferencia clave: superclase vs subclase
En Programación Orientada a Objetos (OOP), el sistema se modela usando objetos. Estos objetos se crean mediante una clase. Una clase es un plano 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 POO. 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 que el programa sea más manejable. Superclase y Subclase son dos términos relacionados con la herencia. Este artículo analiza la diferencia entre Superclase y Subclase. La diferencia clave entre la Superclase y la Subclase es que Superclase es la clase existente de la que se derivan las nuevas clases, mientras que Subclase es la nueva clase que hereda las propiedades y métodos de la Superclase.
CONTENIDO
1. Descripción general y diferencia clave
2. Qué es la superclase
3. Qué es la subclase
4. Similitudes entre la superclase y la subclase
5. Comparación lado a lado - Superclase frente a subclase en forma tabular
6. Resumen
¿Qué es la Superclase?
En Herencia, la clase existente de la que se derivan las nuevas clases se conoce como Superclase. También se conoce como clase principal o clase base.
Existen diferentes tipos de herencia. Se ilustran con los siguientes ejemplos. Considere AB y C como clases.
Figura 01: Tipos de herencia
Figura 02: Herencia híbrida
Según los diagramas anteriores, las superclases 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 tanto para B como para C. En herencias múltiples, tanto A como B son superclases para C.
La herencia híbrida es una combinación de herencias de varios niveles y múltiples. En el diagrama del lado izquierdo, A es la Superclase para B, C y B, C son las Superclases para D. En el diagrama del lado derecho, A es la Superclase para B y B, D son Superclases para C.
Consulte el siguiente programa escrito en Java.
Figura 03: Programa de herencia en Java
Según el programa anterior, la clase A tiene métodos sum () y sub (). La clase B tiene el método multiplicar (). La clase B está ampliando la clase A. Por lo tanto, las propiedades y métodos de la clase A son accesibles por la clase B. Por lo tanto, la clase A es la superclase. Se toma el tipo de referencia de clase B para crear el objeto. Por lo tanto, el objeto puede acceder a todos los métodos como sum (), sub () y multiplicar (). Si se utiliza el tipo de referencia Superclase para la creación de objetos, los miembros de la clase B no pueden ser accesibles. por ejemplo, A obj = new B (); Por lo tanto, la referencia de Superclase no puede llamar al método multiply () porque ese método pertenece a la clase B.
¿Qué es la subclase?
De acuerdo con los diagramas anteriores, las subclases varían de cada tipo de herencia. En herencia única, B es la subclase. En la herencia de varios niveles, B es la subclase de A y C es la subclase de B. En la herencia jerárquica, B y C son subclases de A. En las herencias múltiples, C es la subclase de A y B.
En la herencia híbrida, el diagrama de la izquierda, B y C son subclases de A. D es la subclase de B y C. En el diagrama de la derecha, B es la subclase de A. C es la subclase de B y D.
De acuerdo con el programa de herencia anterior, la clase B está ampliando la clase A. Por lo tanto, todas las propiedades y métodos de la clase A son accesibles por 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 clase secundaria o 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 usando herencia.
¿Cuál es la similitud entre superclase y subclase?
Ambos están relacionados con la herencia
¿Cuál es la diferencia entre superclase y subclase?
Diferencia del medio del artículo antes de la mesa
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 | |
La superclase se conoce como clase base, clase principal. | La subclase se conoce como clase derivada, clase secundaria. |
Funcionalidad | |
Una superclase no puede utilizar las propiedades y métodos de la subclase. | Una subclase puede utilizar 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 Superclases. | Hay una subclase. |
Resumen - Superclase vs Subclase
La herencia es un concepto de programación orientada a objetos. 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 Superclase es la clase existente de la cual se derivan nuevas clases, mientras que Subclase es la nueva clase que hereda las propiedades y métodos de la Superclase.
Descargar el PDF Superclase vs Subclase
Puede descargar la versión PDF de este artículo y utilizarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí Diferencia entre superclase y subclase