オブジェクト指向 |
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
オブジェクト指向
システムを、オブジェクトとオブジェクトの関わり合い
として捉える「考え方」。
つまり、「世の中の仕組みや構成」を
「物」と「物」の関わり合いとして捉える考え方。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|

※「オブジェクト」は英語の「物」「物体」、「目的」「目標」などの意味
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
この世界は、物と物の関わり合いでできている。
例えば、時計。
ムーブメントとかフレームとかいろいろな物(部品)が
それぞれ自分の役割を持って関わりあって作られている。
これは、小さな物がつながって大きな物を作っていると言える。
小さな物が大きな目的のために、
それぞれ自分の役割を果たしている。
オブジェクト指向は物と物とのつながりで、
システムの構造や仕組みを考える方法。
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
オブジェクト指向は、
物の関わり合いやつながりを考え、
物と物を組み合わせて大きな物を作る。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
オブジェクト指向の利点と欠点
例の様に、オブジェクト指向を使ってシステムを設計することで
物と物を組み合わせた柔軟な設計が出来る。
しかし、これは作り方によっては複雑になるという欠点も伴う。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
 |
|
 |
|
オブジェクト指向の利点 |
|
利点 |
内容 |
柔軟性 |
物の組み合わせを変えることで、様々なシステムの設計に対応できる。 |
再利用性 |
一度作った物を別のシステムに再利用できる。 |
応用性 |
様々なものに当てはめて設計できる。
物体だけじゃなく事象や計画などに適用して考えることも出来る。 |
独立性 |
クラスごとに部品化して設計し、機能・役割を分担できる。 |
分離性 |
部品化し、内部処理をブラックボックス化することで、他に影響を与えずに交換や追加・変更しやすい構造にできる。 |
安全性 |
外部からのアクセスを制限にすることで、安全な構造に設計できる。 |
効率性 |
クラスごとに担当者を分け、作業を分担することで平行作業することができる。 |
・・・ |
・・・ |
|
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
ポイント
「物」に例えていろいろ考える。
誰もが意識しないで普段から普通にやっているようなこと。
これがオブジェクト指向の基本的な考え方。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
参考:「指向」の漢字は考える方の「思考」じゃないの?
「指向」でよい。
オブジェクト指向は、英語だと「object oriented」
orientedは関連付けとか方向性のって意味。
日本語にすると「指向」。
物や目的を重視した方向性の考え方って言う意味。
(恐らく。。。)
ちなみに、オブジェクト指向プログラミング言語は
英語では、「OOP(object oriented programming)」と言う。 |
|
|
|
|
|
 |
 |
|
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|
|
|
|
|
|
|
|
|
別項目になっています。こちらからご覧下さい。
|