next up previous contents
Next: Definición de estructuras Up: LE-LISP Previous: Funciones dmacro

Programación orientada a objetos con LE-LISP

 

LE-LISP permite definir objetos estructurados del tipo de los record en Pascal, los struct en C o los structure en Fortran. Para ello se usa la primitiva defstruct. Estos objetos estructurados están formados por un cierto número de campos no tipados. Se puede definir una estructura como sub-estructura de una precedente, lo cual permite crear una jerarquía de tipos con herencia. Sin embargo, no se soportan jerarquías múltiples, aunque ello no representa una limitación en la práctica, pues este tipo de herencia plantea numerosos problemas cuando se utiliza. A las estructuras se les pueden asociar métodos, con lo cual se puede conseguir encapsulamiento de funciones y datos, al estilo de los object del Pascal o de las class del C. También se pueden conseguir polimorfismo definiendo métodos con el mismo nombre en objetos distintos para realizar acciones similares. La primitiva send permite enviar un mensaje a un objeto (en el sentido de O.O.gif.). El sistema se ocupa automáticamente de determinar cual es el método adecuado que debe aplicar al objeto para satisfacer el mensaje.





Miguel A. Alonso Pardo
Thu Nov 20 15:31:06 CET 1997