CLOSエクササイズ第02回
クラスの継承は、defclassの引数にスーパークラスをリストで指定する。
(defclass user () ((name :accessor user-name) (pass :accessor user-password) (age :accessor user-age))) (defclass administrator (user) ((role :accessor role-name)))
このクラスの使用例はこんな感じ。
(defparameter user-0 (make-instance 'user)) (setf (user-name user-0) "Taro") (format t "User-0 Name is ~A.~%" (user-name user-0)) (defparameter admin-0 (make-instance 'administrator)) (setf (user-name admin-0) "Jiro") (setf (role-name admin-0) "Administrator") (format t "Admin-0 Name is ~A.~%" (user-name admin-0)) (format t "Admin-0 role is ~A.~%" (role-name admin-0))
上記の実行結果は以下のような感じ。
User-0 Name is Taro. Admin-0 Name is Jiro. Admin-0 role is Administrator.