4.3.4.1. 継承の例

UP


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のインスタンスには、S2S3というローカルのスロットもあります。 クラスC2C2-S3というメソッドを持っており、 それはスロットS3の値を読み込みます。 また(setf C2-S3)というメソッドも存在し、 それはスロットS3の値を書き込みます。


TOP, Github