図2●データと機能のマトリックスと対角化 機能を縦軸,データを横軸にして考えたときに,両者の対角にあるものを単位としてシステムをとらえる。これがオブジェクト指向の原則である。 図3●状態マシンとしてのオブジェクト 一つひとつのオブジェクトは,状態を持つ自律的な存在(状態マシン)と考えることができる。各状態マシンが互いにメッセージを送受信しあうことによって,システムが形成されると考えることができる。 図4●開放閉鎖原則とオブジェクト指向 外部とのインタフェース(規約)を規定した抽象クラスと,そこから派生する具象クラスによって実装する。実装自体は自由だが,あくまでもインタフェースの規約を守ることが前提である(Open for Extension)。従って,外部から呼び出す場合は,抽象クラスのオブジェクトに対してメッセージを送ればよい(Closed for Use)。開放閉鎖原則は,ほとんどのデ