Diferencia entre el polimorfismo y la herencia en OOP

Diferencia entre el polimorfismo y la herencia en OOP

Diferencia clave: polimorfismo vs herencia en OOP
 

La programación orientada a objetos (OOP) se usa comúnmente para desarrollar software. Muchos lenguajes de programación admiten programación orientada a objetos. La programación orientada a objetos es una metodología para diseñar un programa utilizando clases y objetos. Una clase en OOP es un plan para crear un objeto. Una clase tiene propiedades y métodos. Un objeto es una instancia de una clase. OOP contiene cuatro pilares como herencia, polimorfismo, abstracción y encapsulación. Este artículo analiza la diferencia entre el polimorfismo y la herencia en OOP. El diferencia clave entre el polimorfismo y la herencia en OOP es que El polimorfismo es la capacidad de un objeto para comportarse de múltiples maneras y la herencia es crear una nueva clase utilizando propiedades y métodos de una clase existente.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es el polimorfismo en OOP?
3. ¿Qué es la herencia en OOP?
4. Similitudes entre polimorfismo y herencia en OOP
5. Comparación de lado a lado: polimorfismo vs herencia en OOP en forma tabular
6. Resumen

¿Qué es el polimorfismo en OOP??

El polimorfismo es indicar múltiples formas. Un objeto puede tener múltiples comportamientos. El polimorfismo se puede dividir en dos categorías. Están sobrecargando y anulando.

Sobrecarga

Consulte el siguiente programa escrito en Java.

Figura 01: sobrecarga

Según el programa anterior, se crea un objeto de Tipo A. Al llamar a OBJ.suma(); dará la salida relacionada con el método suma (). Al llamar al obj.suma (2,3); Dará la salida relacionada con la suma (int a, int b). Se puede observar que el mismo objeto tiene diferentes comportamientos dependiendo de la situación. Cuando hay múltiples métodos con el mismo nombre, pero con diferentes parámetros, se conoce como sobrecarga. También se conoce como enlace estático o compilar el polimorfismo de tiempo.

Primordial

Otro tipo de polimorfismo es primordial. Consulte el siguiente programa escrito en Java.

Figura 02: anular

De acuerdo con el programa anterior, hay una pantalla de método () en la clase A. Clase B se extiende desde la clase A. Por lo tanto, todos los métodos en la Clase A están accesibles por la Clase B. Es herencia. El concepto de herencia se describe más adelante.

La clase B también tiene la misma pantalla de método (). Al crear un objeto de tipo A y el método de visualización de llamadas, la salida dará B. El método de visualización de clase A se anula mediante el método de visualización de Clase B. Entonces, la salida es B.

Cuando hay métodos con el mismo nombre y los mismos parámetros, pero en dos clases diferentes, y están vinculados con la herencia, se conoce como anulación. También se conoce como Polimorfismo de unión tardía, vinculación dinámica, tiempo de ejecución. La sobrecarga y la anulación se denominan polimorfismo. Es un concepto importante en la programación orientada a objetos.

¿Qué es la herencia en OOP??

Consulte el siguiente programa escrito en Java.

Figura 03: Ejemplo de herencia

De acuerdo con el programa anterior, la clase A tiene el método suma () y la clase B tiene el método sub ().

El método Sum () de la Clase A se puede usar en la Clase B utilizando la palabra clave extender. La reutilización de las propiedades y los métodos en una clase existente para crear una nueva clase se conoce como herencia. Incluso no hay método Sum () en la clase B; se hereda de la clase A. La herencia es útil para la reutilización del código. La clase más antigua se llama la clase base, superclase o clase madre. La clase derivada se llama subclase o clase infantil.

Tipos de herencia

Hay varios tipos de herencia. Son herencia de un solo nivel, herencia múltiple, herencia múltiple, herencia jerárquica y herencia híbrida.

Herencia única

En una sola herencia, hay una súper clase y una subcase subcase. Si la clase A es la súper clase y la clase B es la subcase, todas las propiedades y métodos de la Clase A pueden acceder a la Clase B. Solo hay un nivel; Por lo tanto, se llama herencia de un solo nivel.

Herencia múltiple

En la herencia de varios niveles hay tres niveles de clases. La clase intermedia hereda de la súper clase. La subcase hereda de la clase intermedia. Si hay tres clases como A, B y C y A es la súper clase y B es la clase intermedia. Entonces B hereda de A y C hereda de B, es una herencia de nivel múltiple.

Herencia múltiple

En la herencia múltiple, hay muchas súper clases y una subcase subcase. Si hay tres súper clases llamadas A, B, C y D es la subcase, entonces la Clase D puede heredar de A, B y C. La herencia múltiple es compatible con el lenguaje de programación C++. No es compatible en lenguajes de programación como Java o C#. Las interfaces se utilizan para implementar múltiples herencias en estos idiomas.

Herencia jerárquica

Si hay clases llamadas A como súper clases y B, C son subcases, esas subcase pueden heredar propiedades y métodos de clase A. Ese tipo de tipo de herencia se conoce como herencia jerárquica.

Herencia híbrida

Hay otro tipo de herencia especial que se conoce como herencia híbrida. Es una combinación de herencias de nivel múltiple y múltiples. Si A, B, C y D son clases y B se hereda de A y D se hereda de B y C, entonces es una herencia híbrida.

¿Cuáles son las similitudes entre el polimorfismo y la herencia en OOP??

  • Ambos son conceptos de programación orientada a objetos.

¿Cuál es la diferencia entre el polimorfismo y la herencia en OOP??

Polimorfismo vs herencia en OOP

El polimorfismo es una capacidad de un objeto para comportarse de múltiples maneras. La herencia es crear una nueva clase utilizando propiedades y métodos de una clase existente.
 Uso
El polimorfismo se usa para que los objetos llamen qué forma de métodos en el tiempo de compilación y tiempo de ejecución. La herencia se usa para la reutilización del código.
Implementación
El polimorfismo se implementa en métodos. La herencia se implementa en clases.
 Categorías
El polimorfismo se puede dividir en sobrecarga y anulación. La herencia se puede dividir en herencia de nivel único, de nivel múltiple, jerárquico, híbrido y múltiple.

Resumen - Polimorfismo vs herencia en OOP 

El polimorfismo y la herencia son conceptos principales en la programación orientada a objetos. La diferencia entre el polimorfismo y la herencia en OOP es que el polimorfismo es una interfaz común para múltiples formas y herencia es crear una nueva clase utilizando propiedades y métodos de una clase existente. Ambos conceptos se utilizan ampliamente en el desarrollo de software.

Descargue el polimorfismo PDF vs herencia en OOP

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 polimorfismo y herencia en OOP

Referencia:
  1. 8.3 ¿Qué es la herencia en Java? Conferencia | Tutorial, Telusko Learning, 15 de mayo de 2014. Disponible aquí  
  2. Polimorfismo en el tutorial de Java, Telusko Learning, 15 de mayo de 2014. Disponible aquí