「オブジェクト指向」の版間の差分
imported>Administrator |
|||
1行目: | 1行目: | ||
'''オブジェクト指向'''(Object Oriented)とは、主に[[ソフトウェア]]の[[設計]]や[[開発]]における考え方のひとつ。大きな意味での[[デザインパターン]]である。 | '''オブジェクト指向'''(Object Oriented)とは、主に[[ソフトウェア]]の[[設計]]や[[開発]]における考え方のひとつ。大きな意味での[[デザインパターン]]である。 | ||
− | 近年では「オブジェクト指向」というと[[C++]]、[[Java]]、[[C Sharp|C#]]、[[Ruby]]、[[PHP]]などの「[[オブジェクト指向プログラミング言語]]」、およびそれらを用いた「[[オブジェクト指向プログラミング]]」が世の大半を占めている関係で、まるでイコールのように言われることも多いが、あくまで物事の考え方であり、[[プログラミング言語]] | + | == 概要 == |
+ | 近年では「オブジェクト指向」というと[[C++]]、[[Java]]、[[C Sharp|C#]]、[[Ruby]]、[[PHP]]などの「[[オブジェクト指向プログラミング言語]]」、およびそれらを用いた「[[オブジェクト指向プログラミング]]」が世の大半を占めている関係で、まるでイコールのように言われることも多いが、あくまで物事の考え方であり、[[プログラミング言語]]に限ったものではない。 | ||
+ | |||
+ | たとえば、最近ではあまり新規では見かけなくなったが、医療分野で使われている[http://medicalware.org/wiki/DICOM DICOM規格]をはじめ、[[UNIX]]や[[Linux]]で今なお使われている[[X Window System]]の仕様書など、1980年代ごろにはオブジェクト指向規格書やオブジェクト指向仕様書なるものも大量に存在した。 | ||
オブジェクト指向とは、たとえば[[ゲーム]]に登場するキャラクターに例えると、体力や魔力、所持アイテムといった値([[変数]])と、移動や会話、攻撃などの行動([[メソッド]])をもっているが、これらの値や行動をプログラム上でバラバラに管理しては[[保守性]]が悪いので、ある一定の「物(オブジェクト)」という単位にまとめて管理しましょう、という考え方のことである。 | オブジェクト指向とは、たとえば[[ゲーム]]に登場するキャラクターに例えると、体力や魔力、所持アイテムといった値([[変数]])と、移動や会話、攻撃などの行動([[メソッド]])をもっているが、これらの値や行動をプログラム上でバラバラに管理しては[[保守性]]が悪いので、ある一定の「物(オブジェクト)」という単位にまとめて管理しましょう、という考え方のことである。 | ||
17行目: | 20行目: | ||
== 参考文献 == | == 参考文献 == | ||
− | + | {{reflist}} | |
+ | |||
== 外部リンク == | == 外部リンク == | ||
{{stub}} | {{stub}} |
2012年7月24日 (火) 23:54時点における版
オブジェクト指向(Object Oriented)とは、主にソフトウェアの設計や開発における考え方のひとつ。大きな意味でのデザインパターンである。
概要
近年では「オブジェクト指向」というとC++、Java、C#、Ruby、PHPなどの「オブジェクト指向プログラミング言語」、およびそれらを用いた「オブジェクト指向プログラミング」が世の大半を占めている関係で、まるでイコールのように言われることも多いが、あくまで物事の考え方であり、プログラミング言語に限ったものではない。
たとえば、最近ではあまり新規では見かけなくなったが、医療分野で使われているDICOM規格をはじめ、UNIXやLinuxで今なお使われているX Window Systemの仕様書など、1980年代ごろにはオブジェクト指向規格書やオブジェクト指向仕様書なるものも大量に存在した。
オブジェクト指向とは、たとえばゲームに登場するキャラクターに例えると、体力や魔力、所持アイテムといった値(変数)と、移動や会話、攻撃などの行動(メソッド)をもっているが、これらの値や行動をプログラム上でバラバラに管理しては保守性が悪いので、ある一定の「物(オブジェクト)」という単位にまとめて管理しましょう、という考え方のことである。
なお、あくまでオブジェクト「指向」であり、オブジェクト「絶対主義」ではない点に注意すること。たとえば、オブジェクト指向プログラミング言語であれば「オブジェクト指向的な考え方に傾向している(最適化された)プログラミング言語」という意味であり、必ずしもオブジェクト指向の考え方に沿った書き方をしなければならないわけではなく、静的メソッドおよび静的変数ばかりを使い手続き型プログラミング言語と化すことも可能であり、また関数型プログラミング言語のような記法も可能、もしくは混在を前提としているプログラミング言語も多い。
関連項目
- オブジェクト指向
- オブジェクト指向プログラミング
- オブジェクト指向プログラミング言語