以下の問いに応えよ.
(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)