Diferencia entre sobrecargar y anular en Java

Tabla de contenido:

Diferencia entre sobrecargar y anular en Java
Diferencia entre sobrecargar y anular en Java

Video: Diferencia entre sobrecargar y anular en Java

Video: Diferencia entre sobrecargar y anular en Java
Video: 66. Programación en Java || POO || Sobrecarga de Métodos 2024, Noviembre
Anonim

Diferencia clave: sobrecarga frente a anulación en Java

La Programación Orientada a Objetos (POO) es un paradigma importante en el desarrollo de software. Es una metodología para diseñar un programa utilizando clases y objetos. Una clase es un modelo. Describe lo que debe contener el objeto. Define las propiedades o atributos y los métodos de los que debe constar el objeto. Por lo tanto, un objeto es una instancia de una clase. Estos objetos se comunican con otros objetos. Un concepto importante de OOP es el polimorfismo. Es la capacidad de un objeto para comportarse de múltiples maneras. El polimorfismo se clasifica en dos secciones: sobrecarga y anulación. Este artículo analiza la diferencia entre estos dos en Java. La diferencia clave entre la sobrecarga y la anulación en Java es que la sobrecarga es la capacidad de crear varios métodos con el mismo nombre con diferentes implementaciones y la anulación es proporcionar una implementación para un método de subclase que ya existe en la superclase.

¿Qué es la sobrecarga en Java?

La sobrecarga es la capacidad de crear múltiples métodos del mismo nombre con diferentes implementaciones. Consulte el siguiente código Java.

Diferencia entre sobrecargar y anular en Java
Diferencia entre sobrecargar y anular en Java
Diferencia entre sobrecargar y anular en Java
Diferencia entre sobrecargar y anular en Java

Figura 01: programa Java que explica la sobrecarga con diferente número de argumentos

Según el programa anterior, la clase A contiene dos métodos con el mismo nombre. El primer método de suma tiene dos parámetros. El segundo método de suma tiene tres parámetros. Al crear un objeto de tipo A y llamar a sum(2, 3), llamará al método sum con dos parámetros que son sum(int a, int b) y devuelve 5. Al crear un objeto de tipo A y llamar a sum(2, 3, 4), llamará al otro método de suma con tres parámetros que es la suma (int a, int b, int c) y devuelve 9.

El nombre del método es el mismo pero el número de parámetros es diferente. Se puede observar que el mismo objeto se está comportando de manera diferente. Este concepto se conoce como sobrecarga. También se conoce como enlace estático o polimorfismo de tiempo de compilación.

También se puede sobrecargar con diferentes tipos de datos. Consulte el siguiente código Java.

Diferencia entre sobrecarga y anulación en Java_Figura 02
Diferencia entre sobrecarga y anulación en Java_Figura 02
Diferencia entre sobrecarga y anulación en Java_Figura 02
Diferencia entre sobrecarga y anulación en Java_Figura 02

Figura 02: programa Java que explica la sobrecarga con diferente número de argumentos

Según el programa anterior, la clase A consta de dos métodos con el mismo nombre. El método sum(int a, int b) recibe dos valores enteros. La suma (doble a doble b) recibe dos valores dobles. Al crear el objeto de tipo A y llamar a sum(2, 3), llamará a sum(int a, int b) y devolverá el valor 5. Al llamar a sum(3.4, 5.6), llamará a sum(double a double b) y devolver el valor 9.0. En este ejemplo, los métodos tienen el mismo nombre, pero un tipo diferente de variables. Esto también es una sobrecarga.

¿Qué es la anulación en Java?

En Java, es posible construir subclases con clases ya existentes. En lugar de crear la nueva clase desde el principio, es posible utilizar las propiedades y métodos de la clase ya existente. La clase existente es la superclase y la clase derivada es la subclase. Cuando la subclase proporciona una implementación para un método, que ya está en la superclase, se conoce como anulación. Consulte el siguiente programa Java.

Diferencia clave entre sobrecargar y anular en Java
Diferencia clave entre sobrecargar y anular en Java
Diferencia clave entre sobrecargar y anular en Java
Diferencia clave entre sobrecargar y anular en Java

Figura 03: programa Java para anular

Según el programa anterior, la Clase A tiene un método display(). La clase B se extiende desde la clase A, por lo que la clase B puede acceder a las propiedades y métodos de la clase A. La clase B tiene el método display() con una implementación específica. Al crear un objeto de tipo A y llamar al método de visualización, dará la salida B. Aunque la clase A tiene un método de visualización, se reemplaza por el método de visualización de la clase B. La subclase está implementando un método que ya existe en la superclase.

Este concepto es un tipo de polimorfismo y se conoce como superposición. También se denomina enlace tardío, enlace dinámico, polimorfismo en tiempo de ejecución.

¿Cuáles son las similitudes entre la sobrecarga y la anulación en Java?

  • Ambos son tipos de polimorfismo.
  • En sobrecarga y anulación, los métodos tienen el mismo nombre.

¿Cuál es la diferencia entre sobrecargar y anular en Java?

Sobrecarga vs Anulación en Java

La sobrecarga en Java es la capacidad de crear múltiples métodos del mismo nombre con diferentes implementaciones. La anulación en Java proporciona una implementación específica en el método de la subclase para un método que ya existe en la superclase.
Parámetros
En sobrecarga, los métodos tienen el mismo nombre pero diferente número de parámetros o diferente tipo de parámetros. Al anular, los métodos tienen el mismo nombre y los parámetros deben ser los mismos.
Temas
Se produce una sobrecarga dentro de la clase. La anulación ocurre dentro de las dos clases que tienen una relación de herencia.
Sinónimos
La sobrecarga se denomina polimorfismo de tiempo compilado. La anulación se denomina polimorfismo en tiempo de ejecución.

Resumen: sobrecarga frente a anulación en Java

El polimorfismo es un concepto importante en la programación orientada a objetos. Proporciona la capacidad de que un objeto se comporte de múltiples maneras. Esto puede ser de sobrecarga o anulación. La sobrecarga es el polimorfismo en tiempo de compilación y la anulación es el polimorfismo en tiempo de ejecución. Son útiles en el desarrollo de aplicaciones de software. La diferencia entre anular y sobrecargar es que la sobrecarga es la capacidad de crear múltiples métodos del mismo nombre con diferentes implementaciones y la anulación proporciona una implementación específica en el método de subclase para un método que ya existe en la superclase. Es posible implementar tanto la sobrecarga como la anulación en Java.

Descargue el PDF Sobrecarga vs Anulación en Java

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 sobrecargar y anular en Java

Recomendado: