Vous êtes sur la page 1sur 2

(defclass A (is-a USER)

(role concrete)
(slot x (default 34)
(create-accessor write))
(slot y (default abc)))

(defclass CAR (is-a USER)


(role concrete)
(slot velocidad (default 34))
(slot color (default rojo ))
(slot nombre (default ford)))

CLIPS> (make-instance c of CAR)


[c]
RESULTADO
CLIPS> (send [c] print)
[c] of CAR
(velocidad 34)
(color rojo)
(nombr ford)
CLIPS>

(defclass ser-vivo
(is-a USER)
(role abstract)
(pattern-match non-reactive)
(slot respira (default si)))
(defclass persona
(is-a ser-vivo)
(role concrete)
(pattern-match reactive)
(slot nombre))

(send [juan] escribe-nombre)

Clases en clps

Para definir una clase en clips se utiliza defclass

default:-Permite especificar un valor por defecto para un slot cuando no se añade o


especifica
explícitamente
Slots:-Valores asociados con instancias de clases definidas por el usuario. Se
puede especificar si un atributo es heredable o no.

EJEMPLOS DE CLASE

(defclass CAR (is-a USER)


(role concrete)
(slot velocidad (default 34))
(slot color (default rojo )
)
(slot nombre (default vitara)))

Solucion

La make-instance: es pertime declar la instancia


S
CLIPS>(make-instance carro of CAR)
[carro]
(make-instance carro of CAR)
[carro]
CLIPS> (send [carro] print)

[carro] of CAR
(velocidad 34)
(color rojo)
(nombre vitara)
(send [carro] print)
[carro] of CAR
(velocidad 34)
(color rojo)
(nombre vitara)

(defclass carro-vitara (is-a USER)


(role concrete)
(slot motor (create-accessor write)
(storage shared)
(default v207))
(slot ruedas (create-accessor write)
(storage shared)
(default-dynamic 10))
(slot carga (create-accessor write)
(storage local)))

Vous aimerez peut-être aussi