Cita: Se invoca a los métodos de sobrecarga cuando se interactúa con propiedades o métodos que no se han declarado o que no son visibles en el ámbito activo.
Ahora ve a ***cualquier*** manual de orientación a objetos, y me dices qué tiene que ver la sobrecarga, con la visibilidad dentro de un ámbito.
Wikipedia:
Cita: In computer science, polymorphism is a programming language feature that allows values of different data types to be handled using a uniform interface.
Vaya, seguro que esto se parece mucho más a lo que vas a encontrar en cualquier manual de Java o C++.Pero , vaya, ni mención a la visibilidad.Es más, esta definición no tiene *NADA* que ver con lo mencionado en el manual.
Wikipedia, Function overload
Cita: Function overloading or method overloading is a feature found in various programming languages such as Ada, C++, C#, D, and Java, that allows creating several methods with the same name which differ from each other in the type of the input and the output of the function. It is simply defined as the ability of one function to perform different tasks.
Vaya, insisten en que lo que define la sobrecarga/polimorfismo, son 2 características:
1- Mismo nombre de método
2- Tipos de las variables de entrada
Sigue sin mencionar nada ni de que el método no exista, ni de la visibilidad de las variables..
Que puede, el **programador** hacer una implementación de "__call" que sirva para algo parecido a la sobrecarga? Si..y a mil cosas más...
Significa eso que el **lenguaje** tenga "soporte" de esas mil cosas...No..Significa que lo ha hecho el programador
Si yo hago una implementación de __call, para soportar getters y setters automáticos, esos getters y setters son "funciones sobrecargadas"?