Creación:
(make-instance [<instancia>] of <nombre clase><definicion slots>)(make-instance alumno1 of hombre (nombre "juan") (edad 26))
(make-instance of hombre (nombre "luis") (edad 56))
Modificación:
(modify-instance <instancia> <redefinicion slots>)(modify-instance alumno1 (nombre "juan antonio"))
Copia:
(duplicate-instance <instancia> [to <nueva instancia>]<redefinicion slots>)(duplicate-instance alumno1 to alumno2 (nombre "pedro"))
(duplicate-instance alumno2 to alumno3)
Borrado:
(make-instance <ref. instancia>)(unmake-instance alumno1)
(unmake-instance ?referencia)
Otra opción:
usar handler delete((send [instancia]) delete)
(send [alumno1] delete)
Declaración instancias iniciales:
(definstances)Instancias a crear al inicio de la ejecución (comando (reset))
Siempre existe objeto initial-object (de clase INITIAL-OBJECT)
(definstances personas
(juan of hombre (nombre "juan")
(luis of hombre (nombre "luis")
(pablo of hombre (nombre "pablo"))
Definición de handlers:
(defmessage-handler <clase> <handler> (<parametros>) <lista instrucciones> )Acceso a variables y ejecución de handlers (métodos)
([instancia] send <nombre handler> <paramatros>)
En slots donde se defina modificador create-accessor se crean dos handlers
get-<nombre slot>
set-<nombre slot>
([juan] send set-edad 26)
([pablo] send imprimir)
([juan] send get-nombre)