Diferencia Entre Sobrecarga Y Anulación En Java

Tabla de contenido:

Diferencia Entre Sobrecarga Y Anulación En Java
Diferencia Entre Sobrecarga Y Anulación En Java

Vídeo: Diferencia Entre Sobrecarga Y Anulación En Java

Vídeo: Diferencia Entre Sobrecarga Y Anulación En Java
Vídeo: 66. Programación en Java || POO || Sobrecarga de Métodos 2024, Mayo
Anonim

Diferencia clave: sobrecarga frente a anulación 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 constar el objeto. Por tanto, un objeto es una instancia de una clase. Estos objetos se comunican con otros objetos. Un concepto importante de POO es polimorfismo. Es la capacidad de un objeto de comportarse de múltiples formas. El polimorfismo se clasifica en dos secciones que sobrecargan y anulan. 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.

CONTENIDO

1. Descripción general y diferencia clave

2. Qué es la sobrecarga en Java

3. Qué es la anulación en Java

4. Similitudes entre la sobrecarga y la anulación en Java

5. Comparación lado a lado: sobrecarga frente a anulación en Java en forma tabular

6. Resumen

¿Qué es la sobrecarga en Java?

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

Diferencia entre sobrecarga y anulación en Java
Diferencia entre sobrecarga y anulación 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 comporta de manera diferente. Este concepto se conoce como sobrecarga. También se denomina enlace estático o polimorfismo de tiempo de compilación.

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

Diferencia entre sobrecarga y anulación en Java Figure 02
Diferencia entre sobrecarga y anulación en Java Figure 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 devuelve 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 Overriding 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 programa Java a continuación.

Diferencia clave entre sobrecarga y anulación en Java
Diferencia clave entre sobrecarga y anulación en 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 métodos de la clase A son accesibles por la clase B. 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 anula 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 predominante. 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.
  • Al sobrecargar y anular, los métodos tienen el mismo nombre.

¿Cuál es la diferencia entre sobrecarga y anulación en Java?

Diferencia del medio del artículo antes de la mesa

Sobrecarga vs anulación en Java

La sobrecarga en Java es la capacidad de crear varios métodos con el mismo nombre con diferentes implementaciones. La anulación en Java es proporcionar 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 de parámetros diferente. Al anular, los métodos tienen el mismo nombre y los parámetros deben ser los mismos.
Temas
La sobrecarga ocurre dentro de la clase. La invalidación ocurre dentro de las dos clases que tienen una relación de herencia.
Sinónimos
La sobrecarga se denomina polimorfismo en 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 formas. 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 Overloading es la capacidad de crear varios métodos del mismo nombre con diferentes implementaciones y Overriding proporciona una implementación específica en un 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.

Descargar PDF Overloading vs Overriding en Java

Puede descargar la versión PDF de este artículo y utilizarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí Diferencia entre sobrecarga y anulación en Java

Recomendado: