一般にオブジェクト指向言語は2 つに分類することができる.
現在では,代表的なオブジェクト指向として Java があり「クラスベース」 であるので本書では,クラスベースについて説明しよう(Java によるプログラ ミングは次節以降).
では,仮想的なクラスベース言語で, 上の物理現象を表現する.ここで,各クラスは class-名前-本体- end の本体の部分に定義し,状態は state, メソッドは method-名前-引数-本体- end と定義するものとする.
class Airplaneここで,飛行機 Airplane,木 Tree, 人間 Person であることに注意しよう. Airplane, Tree と Person は,クラスであり, 各オブジェクト(飛行機,木,人間) はこのクラスから生成しなければならな い.また,上の記述では,「クラスを定義しただけ」であり,通常,全体の実 行を司るプログラムを書かなければならない.その書き方は,各プログラミン グ言語により異なるので,本書では次節以降で Java について説明する.
state
速度,色など飛行機を表現する状態.
method 色を教えてください. is
return 色 end
method 速度を教えてください. is
return 速度 end
method 飛べ. is
飛行機が離陸し,飛行速度が定常状態で飛行.
send 風. to 木 end
end
class Tree
state
揺れているか揺れていないかの状態.
method 風. is
木を揺らす end
method 風なし. is
木を揺らさない end
method 状態を教えてください. is
return 状態 end
end
class Person
method 見る. is
色 :=send 色を教えてください. to 飛行機.
速度 :=send 速度を教えてください. to 飛行機.
木の状態 :=send 状態を教えてください. to 木.
色,速度,木の状態を表示する end
end