(defun demo1 nil (defclass test0 :slots (a b c)) (defmethod test0 (:init () (setq a 1 b 2 c 3) self) (:a () a) (:set-a (v) (setq a v)) (:b () b) (:set-b (v) (setq b v)) (:c () c) (:set-c (v) (setq c v)) ) (setq t0 (instance test0 :init)) (defclass test1 :super test0 :slots (d)) (defmethod test1 (:set-d (v) (setq d v)) (:d () d)) (setq t1 (instance test1 :init)) (defclass test2 :super test1 :slots (e)) (defmethod test2 (:init () (setq a 1 b 4 c 9 d 4) self) (:set-a (v) (setq a (* v v))) (:d () (* d d))) (setq t2 (instance test2 :init)) )という定義を行ない,(demo1)を実行した. 以下の各答えが何になるかそれぞれ答えよ.
<cl> (send t0 :c) 答え(1) <cl> (send t1 :c) 答え(2) <cl> (send t2 :c) 答え(3) <cl> (send t1 :d) 答え(4) <cl> (send t2 :d) 答え(5) <cl> (send t1 :set-d 5) 答え(6) <cl> (send t1 :d) 答え(7) <cl> (send t2 :set-d 6) 答え(8) <cl> (send t2 :d) 答え(9) <cl> (send t1 :set-a 10) 答え(10) <cl> (send t2 :set-a 10) 答え(11) <cl> (send t1 :a) 答え(12) <cl> (send t2 :a) 答え(13) <cl> (send t0 :a) 答え(14) <cl> (send t0 :d) 答え(15)