sobreescritura sobrecarga que polimorfismo metodos funciones conclusion language-agnostic polymorphism overloading

language-agnostic - que - sobrecarga de metodos en java netbeans



¿La Sobrecarga de Método se considera polimorfismo? (9)

¿La sobrecarga de métodos se considera parte del polimorfismo?


"Polimorfismo" es solo una palabra y no tiene una definición precisa acordada globalmente. No se le iluminará con una respuesta "sí" o "no" a su pregunta porque la diferencia estará en la definición elegida de "polimorfismo" y no en la esencia de la sobrecarga de métodos como característica de un idioma en particular. Puedes ver la evidencia de eso en la mayoría de las otras respuestas aquí, cada una presentando su propia definición y luego evaluando la característica del idioma en contra de ella.


Es un mal necesario que es y solo debe usarse como complemento. Al final, las sobrecargas solo deben convertirse y eventualmente reenviarse al método principal. OverloDing es necesario porque la mayoría de vms para entornos despachados staticalky no saben cómo convertir un tipo a otro para que el parámetro se ajuste al objetivo y aquí es donde uno usa sobrecargas para ayudar.

StringBuilder Append(String) // main Append(Boolean) // converts and calls append(String)



Método anulación o sobrecarga no es polimorfismo. La forma correcta de decirlo es que el polimorfismo se puede implementar utilizando métodos anulando o sobrecargando y también usando otras formas.

Para implementar el polimorfismo utilizando la anulación de método, puede anular el comportamiento de un método en una subclase.

Para implementar el polimorfismo mediante la sobrecarga de métodos, debe escribir muchos métodos con el mismo nombre y el mismo número de parámetros, pero con diferentes tipos de datos e implementar comportamientos diferentes en estos métodos. Ahora eso también es polimorfismo.

Otras formas de implementar el polimorfismo son la sobrecarga del operador y la implementación de interfaces.


No, la sobrecarga no es así. Tal vez te refieres a la anulación de método que, de hecho, es parte del polimorfismo.

Para aclarar aún más, desde la wikipedia:

El polimorfismo no es lo mismo que la sobrecarga de métodos o la anulación de métodos. 1 El polimorfismo solo se refiere a la aplicación de implementaciones específicas a una interfaz o una clase base más genérica.

Así que yo diría que el método anula Y sobrecarga de método y características convenientes de algún lenguaje con respecto al polimorfismo pero no la principal preocupación del polimorfismo (en programación orientada a objetos) que solo se refiere a la capacidad de un objeto para actuar como si fuera otro objeto en su jerarquía cadena.


Pedaxis de Wikipedia a un lado, una forma de pensar sobre el polimorfismo es: la capacidad de una sola línea de código / llamada de método único para hacer cosas diferentes en tiempo de ejecución dependiendo del tipo de instancia del objeto utilizado para realizar la llamada.

La sobrecarga de métodos no cambia los comportamientos en el tiempo de ejecución. La sobrecarga le da más opciones para las listas de argumentos en el mismo nombre de método cuando está escribiendo y compilando el código, pero cuando se compila, la elección queda fijada en el código para siempre.

No debe confundirse con la anulación de método, que es parte del polimorfismo.


Polimorfismo estrictamente hablando, de wikipedia :

es la capacidad de un tipo, A, para aparecer como y ser usado como otro tipo, B.

Por lo tanto, la sobrecarga de métodos como tal no se considera parte de este polimorfismo de definición, ya que las sobrecargas se definen como parte de un tipo.

Si está hablando de polimorfismo de inclusión (que normalmente se considera que prevalece ), esa es una cuestión diferente y, a continuación, sí, se considera parte del polimorfismo.

polimorfismo de inclusión es un concepto en la teoría de tipos en el que un nombre puede denotar instancias de muchas clases diferentes siempre que estén relacionadas por alguna superclase común.