Diferencia entre superclase y subclase

Tabla de contenido:

Diferencia entre superclase y subclase
Diferencia entre superclase y subclase

Video: Diferencia entre superclase y subclase

Video: Diferencia entre superclase y subclase
Video: HERENCIA DE CLASES - Superclases y subclases - Curso desde cero POO Python - Capítulo 6 2024, Mes de julio
Anonim

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.

Diferencia entre superclase y subclase
Diferencia entre superclase y subclase

Figura 01: Tipos de herencia

Diferencia entre superclase y subclase_Figura 02
Diferencia entre superclase y subclase_Figura 02

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.

Diferencia clave entre superclase y subclase
Diferencia clave entre superclase y subclase

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

Recomendado: