Diferencia clave: superclase frente a subclase
En la Programación Orientada a Objetos (POO), el sistema se modela usando objetos. Estos objetos se crean utilizando una clase. Una clase es un modelo o una descripción para crear un objeto. La creación de objetos también se conoce como creación de instancias de objetos. Cada objeto se comunica con otros objetos. Un programa o software se puede desarrollar usando 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 que el programa sea más manejable. Superclase y Subclase son dos términos que están relacionados con la herencia. Este artículo analiza la diferencia entre Superclase y Subclase. La diferencia clave entre Superclase y 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 Superclase.
¿Qué es 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.
Hay diferentes tipos de herencia. Se ilustran usando 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 superclases varían según el tipo de herencia. En la herencia de un solo nivel, A es la Superclase. En la herencia multinivel, A es la superclase de B y B es la superclase de C. En la herencia jerárquica, A es la superclase de B y C. En las herencias múltiples, tanto A como B son superclases de C.
La herencia híbrida es una combinación de herencias múltiples y multinivel. 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 las 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 es una extensión de la clase A. Por lo tanto, la clase B puede acceder a las propiedades y los métodos de la clase A. Por lo tanto, la clase A es la superclase. Se toma el tipo de referencia de la clase B para crear el objeto. Por lo tanto, el objeto puede acceder a todos los métodos, como sum (), sub () y multiplica (). Si se utiliza el tipo de referencia de superclase para la creación de objetos, no se puede acceder a los miembros de la clase B. p.ej. 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.
¿Qué es la subclase?
Según los diagramas anteriores, las subclases varían según el tipo de herencia. En herencia única, B es la subclase. En la herencia multinivel, B es la subclase de A y C es la subclase de B. En herencia jerárquica, B y C son subclases de A. En 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.
Según el programa de herencia anterior, la clase B está extendiendo la clase A. Por lo tanto, la clase B puede acceder a todas las propiedades y métodos de la clase A. 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 un método de multiplicación () 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 Herencia
¿Cuál es la diferencia entre superclase y subclase?
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 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 Superclases. | Hay una subclase. |
Resumen: superclase frente a subclase
La herencia es un concepto de programación orientada a objetos. Permite usar propiedades y métodos de una clase existente para que una nueva clase pueda acceder a ellos. La clase heredada es la Superclase y la clase derivada es la Subclase. La diferencia entre Superclase y Subclase es que Superclase es la clase existente de la que se derivan nuevas clases, mientras que Subclase es la nueva clase que hereda las propiedades y métodos de Superclase.
Descargue el PDF Superclase vs Subclase
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 superclase y subclase