En la programación orientada a objetos , se dice que un lenguaje de programación tiene mensajes de primera clase o mensajes dinámicos si en una llamada a un método no solo el objeto receptor y la lista de parámetros pueden variar dinámicamente (es decir, vincularse a una variable o calcularse como una expresión), sino también el método específico invocado.
Los lenguajes de programación orientados a objetos con tipado, como Java y C++ , a menudo no admiten métodos de primera clase. [ 1 ] Smalltalk solo los admite de forma no tipada. [ 2 ] En Objective-C ( Cocoa ), se puede usar NSInvocation para representar mensajes de primera clase de una manera que tenga en cuenta los tipos en tiempo de ejecución; sin embargo, el uso seguro aún depende del programador.
Se han realizado algunos avances teóricos para admitir mensajes de primera clase de manera segura en cuanto a tipos , pero ninguno de los sistemas propuestos se ha implementado en un lenguaje de programación, posiblemente debido a su complejidad. [ 3 ]
Véase también
Notas
Referencias
- Susumu Nishimura (1998). " Tipado estático para mensajes dinámicos ". POPL '98 .
- Michelle Bugliesi y Silvia Crafa (1999). "Cálculos de objetos para mensajes dinámicos". FOOL 6 .
- Martin Müller y Susumu Nishimura (2000). " Inferencia de tipos para mensajes de primera clase con restricciones de características ". International Journal of Foundations of Computer Science 11 :1.
- François Pottier (2000). " Un sistema versátil de inferencia de tipos basado en restricciones ". Nordic Journal of Computing .
- Paritosh Shroff y Scott F. Smith. " Inferencia de tipos para mensajes de primera clase con funciones de coincidencia ".
- Programación orientada a objetos
- Subrutinas
- esbozos de informática
