 
 
 
 
 
   
 Next: 12.5 多重継承
Up: 12 オブジェクト指向プログラミング
 Previous: 12.3 スロットの属性設定
 
クラスを定義する場合に,スーパクラス(親クラス)を
指定することができます.
 
> (defclass bar (foo)
    ((d :accessor foo-d :initarg :d :initform 4)))
#<STANDARD-CLASS BAR>
> (setq bar1 (make-instance 'bar :a 1 :b 2))
#<BAR @ #x203c6b12>
> (foo-a bar1)
1
> (foo-b bar1)
2
> (foo-c bar1)
3
> (foo-d bar1)
4
> (defmethod foo-method ((x foo))
     (slot-value x 'a))
 #<STANDARD-METHOD FOO-METHOD (FOO) 42720573>
> (foo-method foo1)
UNO
> (foo-method bar1)
1
> (defmethod foo-method ((x bar))
     (slot-value x 'd))
#<STANDARD-METHOD FOO-METHOD (BAR)>
> (foo-method bar1)
4
barクラスはfooクラスを親として,そのクラスの性質
を継承します.
 
generated through LaTeX2HTML. M.Inaba 平成18年5月6日