クラスを定義する - lisp-cookbook-ja/common-lisp GitHub Wiki
クラスを定義する
クラスを定義するには、 defclass を使用します。 defclass には様々なオプションがありますが、最も簡単な定義は下記のようなものになるでしょう。
また、スーパークラスの指定を省略した場合、 standard-object をスーパークラスに指定したことになります。
;; 構文
(defclass クラス名 (スーパークラス*)
(スロット*))
;; 例
x yというスロットを持つfooクラスを定義
(defclass foo ()
(x y))
(defclass bar (foo) ;fooを継承
(z))
;; 確かめる
(describe (make-instance 'bar))
;-> #<BAR 23498C67> is a BAR
; Z #<unbound slot>
; X #<unbound slot>
; Y #<unbound slot>