¿Cuál es la diferencia entre sobrecargar un método y anulando un método? ¿Alguien puede explicarlo con un ejemplo?¿Cuál es la diferencia entre la sobrecarga de método y la anulación?
Respuesta
Método sobrecarga trata sobre la noción de tener dos o más métodos en la misma clase con el mismo nombre pero diferentes argumentos.
void foo(int a)
void foo(int a, float b)
Método anulando medios que tienen dos métodos con los mismos argumentos, pero diferentes implementaciones. Uno de ellos existiría en la clase principal, mientras que otro estaría en la clase derivada o secundaria. La anotación @Override
, aunque no es necesario, puede ser útil para enforce proper overriding of a method en tiempo de compilación.
class Parent {
void foo(double d) {
// do something
}
}
class Child extends Parent {
@Override
void foo(double d){
// this method is overridden.
}
}
'@ Override' no es necesario. Es una buena práctica, pero no es obligatoria. – GriffeyDog
Lo siento @GriffeyDog. Tiene usted razón "@ Override" no se compulsory.But recordar que está sustituyendo un método, es un buen practice..Thanks para recordar .. –
La sobrecarga no tiene por qué estar en la misma clase, pero también puede hacerse entre los padres clase y clase derivada. – happs
La anulación del método es cuando una clase secundaria redefine el mismo método que una clase principal, con los mismos parámetros. Por ejemplo , la clase Java estándar java.util.LinkedHashSet
extiende java.util.HashSet
. El método add()
se reemplaza en LinkedHashSet
. Si usted tiene una variable que es de tipo HashSet
, y se llama a su método add()
, se llamará a la aplicación adecuada de add()
, en función de si se trata de un HashSet
o una LinkedHashSet
. Esto se llama polimorfismo.
Método de sobrecarga está definiendo varios métodos en la misma clase, que aceptan diferentes números y tipos de parámetros. En este caso, el método real llamado se decide en tiempo de compilación, según el número y los tipos de argumentos. Por ejemplo , el método System.out.println()
está sobrecargado, por lo que puede pasar enteros, así como cadenas, y se llamará a una versión diferente del método.
Si usted tiene un niño de clase que define el mismo método con parámetros diferentes a continuación, es que considera que tanto primordial y la sobrecarga? – barlop
y luego se sobrecarga solo porque no anula ninguno de los métodos principales. –
- 1. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 2. ¿Cuál es la diferencia entre dict() y {}?
- 3. ¿Cuál es la diferencia entre un algoritmo y un método
- 4. ¿Cuál es la diferencia entre un método y un selector?
- 5. ¿Cuál es la diferencia entre un método y una función?
- 6. Cuál es la diferencia entre $ y jQuery
- 7. ¿Cuál es la diferencia entre la anulación y las nuevas palabras clave en C#?
- 8. ¿Cuál es la diferencia entre redefinir un método y anular un método?
- 9. Cuál es la diferencia entre = y: =
- 10. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 11. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 12. ¿cuál es la diferencia entre:.! y: r !?
- 13. ¿Cuál es la diferencia entre ".equals" y "=="?
- 14. ¿Cuál es la diferencia entre {0} y ""?
- 15. ¿Cuál es la diferencia entre .ToString (+) y ""
- 16. Cuál es la diferencia entre $ (...) y `...`
- 17. ¿Cuál es la diferencia entre + = y = +?
- 18. ¿Cuál es la diferencia entre " " y ""?
- 19. Cuál es la diferencia entre la función() {}() y la función() {}()
- 20. ¿Cuál es la diferencia entre la abstracción y la encapsulación?
- 21. ¿cuál es la diferencia entre el complemento y la biblioteca?
- 22. Diferencia entre la propiedad y método
- 23. La sobrecarga es tiempo de compilación en tiempo de ejecución y de la anulación es?
- 24. ¿Diferencia entre sombreado y anulación en C#?
- 25. ¿Cuál es la diferencia entre el colado y la coerción?
- 26. ¿Cuál es la diferencia entre la vinculación estática y dinámica?
- 27. ¿Cuál es la diferencia entre uno mismo y la ventana?
- 28. ¿cuál es la diferencia entre el material y la textura?
- 29. ¿Cuál es la diferencia entre el casting y la conversión?
- 30. ¿Cuál es la diferencia entre la relación Composición y Asociación?
¿Alguna investigación? Si es así, ¿qué parte del tema está confundido? – kosa
Esto podría ser un duplicado, y ciertamente es muy básico, pero también es una pregunta real. No es ambiguo, vago, excesivamente amplio o retórico, y puede ser fácilmente respondido en su forma actual por cualquier persona con una comprensión básica de OOP. ¿Por qué las personas cierran preguntas que creen que son demasiado básicas? Eso es lo mismo que decir RTFM. – iconoclast