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の値を書き込みます。