Diferencia entre Superclase y Subclase

Diferencia Clave - Superclase vs Subclase
 

En la Programación Orientada a Objetos (OOP), el sistema se modela utilizando objetos. Estos objetos se crean utilizando 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 está comunicando con otros objetos. Un programa o software puede ser desarrollado usando Programación Orientada a Objetos. La herencia es un concepto importante en la 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 hacer el programa más manejable. Superclase y Subclase son dos términos relacionados con la herencia. Este artículo discute la diferencia entre Superclase y Subclase. los 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. Resumen y diferencia clave
2. Que es superclase
3. Que es Subclase
4. Similitudes entre Superclase y Subclase
5. Comparación lado a lado - Superclase vs Subclase en forma tabular
6. Resumen

Que es superclase?

En Herencia, la clase existente de la cual se derivan las nuevas clases se conoce como Superclase. También se conoce como la clase padre 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

De acuerdo con los diagramas anteriores, las Superclases varían de cada tipo de herencia. En la herencia de un solo nivel, A es la Superclase. En herencia de varios niveles, A es la Superclase para B y B es la Superclase para C. En Herencia jerárquica A es la Superclase para B y C. En múltiples herencias, A y B son Superclases para C.

La herencia híbrida es una combinación de múltiples niveles y múltiples herencias. 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

De acuerdo con el programa anterior, la clase A tiene métodos sum () y sub (). La clase B tiene método de multiplicación (). La clase B está extendiendo la clase A. Por lo tanto, las propiedades y los métodos de la clase A son accesibles por 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. Por lo tanto, todos los métodos como sum (), sub () y multiply () son accesibles por el objeto. Si se utiliza el tipo de referencia Superclass para la creación de objetos, los miembros de la clase B no pueden ser accesibles. p.ej. A obj = nuevo B (); Por lo tanto, la referencia de Superclase no puede llamar al método multiply () porque ese método pertenece a la clase B.

Que es Subclase?

De acuerdo con los diagramas anteriores, las subclases varían de cada tipo de herencia. En herencia única, B es la subclase. En herencia de niveles múltiples, 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 herencia múltiple, C es la subclase para 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á extendiendo 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 la clase secundaria o clase derivada. La clase B tiene el método de multiplicar () y también puede acceder a los métodos sum () y sub () de la clase A usando la herencia.

¿Cuál es la similitud entre la superclase y la subclase??

  • Ambos están relacionados con la 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 los métodos de la Superclase es la Subclase.
 Sinónimos
Superclase se conoce como clase base, clase padre. La subclase se conoce como clase derivada, clase hija.
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 vs 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 los métodos de la Superclase.

Descarga el PDF Superclass vs Subclass

Puede descargar la versión en PDF de este artículo y usarla para fines fuera de línea, como se indica en la nota de cita. Por favor descargue la versión PDF aquí Diferencia entre Superclase y Subclase

Referencia:

1. "Herencia en Java - Javatpoint". El punto, Disponible aquí 
2.tutorialspoint.com. "Herencia de Java". El punto, Disponible aquí