(defclass rectangle () (height width)) (defclass circle () (radius)) (defmethod area ((x rectangle)) (* (slot-value x 'height) (slot-value x 'width))) (defmethod area ((x circle)) (* pi (expt (slot-value x 'radius) 2))) (setq c (make-instance 'circle)) (setq r (make-instance 'rectangle)) > (setf (slot-value r 'height) 2 (slot-value r 'width) 3) > (setf (slot-value c 'radius) 3) > (area c) 28.274333882308138d0 > (area r) 6