next up previous
Next: 13.2 メソッドの定義 Up: 13 シミュレーション例 Previous: 13 シミュレーション例

13.1 クラスの定義

クラスとしてパーティクルクラス(particle)と,particleクラスを親クラスと するロケットクラス(rocket)を定義します.

(defclass particle ()
  ((pname :accessor pname)
   (mass  :accessor mass :initform 1)
   (x-position
    :accessor x-position :initform 0)
   (y-position
    :accessor y-position :initform 0)
   (x-speed
    :accessor x-speed :initform 0)
   (y-speed
    :accessor y-speed :initform 0)
   (x-acceleration
    :accessor x-acceleration
    :initform (car *gravity*))
   (y-acceleration
    :accessor y-acceleration
    :initform (cadr *gravity*))
   )
  )

(defclass rocket (particle)
  ((motor-force :accessor motor-force
                :initform '(0 0))
   )
  )
ここで,pname,x-position,..などはインスタンス変数で,particleクラスに 所属するオブジェクト(インスタンス)がすべてこの変数名で表されるデータ 要素を持っていることになります.

generated through LaTeX2HTML. M.Inaba 平成18年5月6日