% 4.3.4.1. 継承の例
4.3.4.1. 継承の例
(defclass C1 ()
((S1 :initform 5.4 :type number)
(S2 :allocation :class)))
(defclass C2 (C1)
((S1 :initform 5 :type integer)
(S2 :allocation :instance)
(S3 :accessor C2-S3)))
クラスC1
のインスタンスは、S1
という名前のローカルスロットを持っており、
それはデフォルトの初期値が5.4
であり、
その値は常に数値でなければなりません。
クラスC1
もまたS2
という名前の共有スロットを持っています。
C2
のインスタンスには、S1
というローカルスロットがあります。
そのS1
のデフォルトの初期値は5
でせう。
S1
の値は常に(and integer number)
という型でなければなりません。
C2
のインスタンスには、S2
とS3
というローカルのスロットもあります。
クラスC2
はC2-S3
というメソッドを持っており、
それはスロットS3
の値を読み込みます。
また(setf C2-S3)
というメソッドも存在し、
それはスロットS3
の値を書き込みます。