Diferencia entre la sobrecarga y la anulación en Java

Diferencia clave - Sobrecarga vs Anular en Java
 

La programación orientada a objetos (OOP) 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 plano. Describe lo que debe contener el objeto. Define las propiedades o atributos y los métodos en los que debe consistir el objeto. Por lo tanto, un objeto es una instancia de una clase. Estos objetos se comunican con otros objetos. Un concepto importante de la POO es el polimorfismo. Es la capacidad de un objeto para comportarse de múltiples maneras. El polimorfismo se clasifica en dos secciones que están sobrecargando y anulando. Este artículo discute la diferencia entre estos dos en Java. los diferencia clave entre la sobrecarga y la invalidación en Java es que la La sobrecarga es la capacidad de crear múltiples métodos con el mismo nombre con diferentes implementaciones y Anular es proporcionar una implementación para un método de subclase que ya existe en la superclase.

CONTENIDO

1. Resumen y diferencia clave
2. Qué es la sobrecarga en Java
3. Lo que está anulando en Java
4. Similitudes entre la sobrecarga y la anulación en Java
5. Comparación lado a lado: sobrecarga frente a reemplazo en Java en forma tabular
6. Resumen

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 de 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. Cuando se crea un objeto de tipo A y suma de llamada (2,3), se invocará el método de suma con dos parámetros que son suma (int a, int b) y devuelve 5. Al crear un objeto de tipo A y suma de llamada (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 la cantidad 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 Vinculación estática o Compila el polimorfismo del tiempo.

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

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

Según el programa anterior, la clase A consiste en dos métodos con el mismo nombre. El método sum (int a, int b) recibe dos valores enteros. La suma (double a double b) recibe dos valores dobles. Al crear el objeto de tipo A y la suma de llamada (2,3), llamará a sum (int a, int b) y devolverá el valor 5. Al llamar a la suma (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 está sobrecargando.

Lo que está anulando en Java?

En Java, es posible crear subclases con clases ya existentes. En lugar de crear la nueva clase desde el principio, es posible utilizar las propiedades y los 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.

Figura 03: programa Java para anular

De acuerdo con el programa anterior, la Clase A tiene un método de visualización (). La clase B se extiende desde la clase A, por lo que las propiedades y los métodos de la clase A son accesibles por la clase B. La clase B tiene un método de visualización () 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. A pesar de que la clase A tiene un método de visualización, se anula el método de visualización de 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 anulación. También se le llama como Vinculación tardía, Vinculación dinámica, 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 sobrecargas y anulaciones, los métodos tienen el mismo nombre.

¿Cuál es la diferencia entre la sobrecarga y la anulación 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 subclase para un método que ya existe en la superclase.
 Parámetros
En la sobrecarga, los métodos tienen el mismo nombre pero un número diferente de parámetros o un tipo diferente de parámetros. Al reemplazar, los métodos tienen el mismo nombre y los parámetros deben ser los mismos.
Temas
La sobrecarga ocurre dentro de la clase.. La anulación se produce dentro de las dos clases que tienen una relación de herencia.
 Sinónimos
La sobrecarga se llama polimorfismo de tiempo compilado.. La anulación se llama polimorfismo de tiempo de ejecución.

Resumen - Sobrecarga vs Anular en Java

El polimorfismo es un concepto importante en la programación orientada a objetos. Proporciona la capacidad para 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 sustitución es el polimorfismo en tiempo de ejecución. Son útiles en el desarrollo de aplicaciones de software. La diferencia entre la anulación y la sobrecarga 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 invalidación en Java..

Descargar el PDF Overloading vs Overriding en Java

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 sobrecarga y anulación en Java

Referencia:

1.tutorialspoint.com. "Java Overriding". El punto. Disponible aquí 
2. "Sobrecarga de métodos en Java - Javatpoint". Disponible aquí
3. "Método que anula en Java - javatpoint". Disponible aquí