オブジェクト指向

オブジェクト指向

 オブジェクト指向とは,プログラムを,できるだけ,SVO(主語動詞目的語) の目的語(オブジェクト)に記述しようとう考え方を指す。

 シェフ(主語)がステーキ(目的語)を焼く(動詞)を例とすると,従来のプログラムは,

シェフが○○して,○○し,○○する,とシェフのところにプログラムのコードを書いたが,オブジェクト指向では,ステーキに,○○されて,○○されて,○○される,とプログラムコードをできるだけ書き,シェフ側のプログラムを単純にする。

具体的には,手続き型言語の特色に,以下を追加している。


プログラム 3 大要素オブジェクト指向


プログラム


クラスインスタンスの本来の英語上の意味は

  • class 人やものをある属性に注目してグループにわけたときのグループ。例:階級,学級
  • instance 実例。

である。

たいていのオブジェクト指向の本での解説では

クラス:設計書に相当。これをもとに,インスタンスを生成する。例:たい焼きの金型

インスタンスクラスから作られたもの。例:たい焼き

この解釈だと,頭の中で混乱します。

西洋哲学?の特色ですが,具体的な目の前にあるそれぞれの「りんご」よりも,私たちの頭の中にある「りんごの概念」をより本質と考えています。

日本人だと,「りんごの概念」は,ただ人間が考えただけて,食べる目の前の「りんご」の方が本物だと思う人が多いでしょう。

オブジェクト指向では,この西洋哲学の考え方が反映されていて,クラスが,神聖・本質的なもので,インスタンスは,世俗的な世界に現れた仮の姿と捉えられています。

オブジェクト指向では

クラス:本物

インスタンス:化身・分身

という発想です。

インスタンス = new クラス

といった書き方が,Java などではされますが,これは,クラスという設計書をもとに,インスタンスを生成しているのではなくて,

そのクラスに属していると言える本質的なものから,具体的,仮身,分身インスタンスを生成するという意味です。

* はてなダイアリーキーワード:オブジェクト指向