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 plan. Describe lo que debe contener en el objeto. Define las propiedades o atributos y los métodos que el objeto debe consistir en. 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 que un objeto se comporte de múltiples maneras. El polimorfismo se clasifica en dos secciones que están sobrecargando y anulando. Este artículo analiza la diferencia entre estos dos en Java. El diferencia clave Entre sobrecargar y anular en Java es que el La sobrecarga es la capacidad de crear múltiples métodos del mismo nombre con diferentes implementaciones y anular es proporcionar una implementación para un método de subclase que ya existe en la superclase.
1. Descripción general y diferencia de claves
2. ¿Qué está sobrecargando en Java?
3. ¿Qué está anulando en Java?
4. Similitudes entre sobrecargar y anular en Java
5. Comparación de lado a lado: sobrecarga frente a anular en Java en forma tabular
6. Resumen
La sobrecarga es la capacidad de crear múltiples métodos del mismo nombre con diferentes implementaciones. Consulte el siguiente código Java.
Figura 01: Programa Java que explica la sobrecarga con un número diferente de argumentos
Según el programa anterior, la clase A contiene dos métodos con el mismo nombre. El método de la primera suma tiene dos parámetros. El método de la segunda suma tiene tres parámetros. Al crear un objeto de tipo A y llamar a la suma (2,3), llamará al 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 llamar a la suma (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 Compila el polimorfismo de tiempo.
También se puede sobrecargar con diferentes tipos de datos. Consulte el siguiente código Java.
Figura 02: Programa Java que explica la sobrecarga con un número diferente de argumentos
Según el programa anterior, la Clase A consiste en dos métodos con el mismo nombre. El método de suma (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 la suma (2,3), llamará a la suma (int a, int b) y devolverá el valor 5. Al llamar a la suma (3.4, 5.6), llamará a la suma (doble A doble 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 se está sobrecargando.
En Java, es posible construir subclases con clases ya existentes. En lugar de crear la nueva clase desde el principio, es posible usar 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.
Figura 03: Programa Java para anular
Según el programa anterior, Clase A tiene una pantalla de método (). La clase B se extiende desde la clase A, por lo que las propiedades y métodos de la Clase A son accesibles para la Clase B. La clase B tiene Método Display () con una implementación específica. Al crear un objeto de tipo, A y llamar al método de visualización, le dará la salida b. Aunque 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 conocido como primordial. También se llama como Atención tardía, Vinculación dinámica, Polimorfismo de tiempo de ejecución.
Sobrecarga vs anular 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 está proporcionando 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 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 prima 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. |
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 de 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 anular es proporcionar 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.
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 sobrecargar y anular en Java
1.punto de tutorial.comunicarse. "Java anulando." El punto. Disponible aquí
2."Sobrecarga del método en Java - Javatpoint." Disponible aquí
3."Método anular en Java - Javatpoint." Disponible aquí