#はじめに
昨日、PS4を遂に購入しました〜
ソフト「龍が如く維新」を購入したんですが、登場人物の毛穴などが鮮明に見えてスッゴク驚きました!!
ストーリー中(龍が如くはストーリが長い)は、ちゃっかり自重筋トレしちゃってます
今回から、オブジェクト指向についてです!!
独学でやってるので、「これはJavaやっていくにあたって役に立つ知識だぞ!!」というのがあれば、コメントして頂けるととても嬉しいです
##オブジェクト指向の目的
人間が把握しきれない複雑さを克服するためにオブジェクト指向は生まれた !
オブジェクト指向はプログラムを簡単に変更しやすくさせたり、プログラムの一部を簡単に転用させたりできるのだ。
###オブジェクト指向の本質
現実世界を参考にしてプログラム開発していく!!
現実世界の登場人物たちを、コンピュータの仮想世界にオブジェクトとして再現し、現実世界と同じように連携してプログラムを作ることがオブジェクト指向の本質なのだ。
例えば・・・
ネットショッピングは、現実世界のお店を電子化 したものであり、そのプログラムは従来店員が受け持っていた「商品の検索・注文・決済」などを自動化したもの。
####オブジェクトについて
各オブジェクトは「属性」と「操作」をもっている。
属性は、登場人物に関する情報を覚えておくもの(名前やレベルなど)
操作は、登場人物が行う行動や動作の手順
今回の例は「筋トレ大好きな文系女学生」が「オブジェクト指向を理解するため」に「GUIプログラムでアニメーションする女子大生ロボット」を考えてみた!
女子大生オブジェクトは、自分の名前やレベルをしっかり覚えて置かなければならない(情報保持責任)。
もし「食べる」と命令すれば食べ物を食べるし、「腹筋をしろ」と命令すれば腹筋をしレベルアップさせる責任(行動責任)があるのだ!
では、女子大生と同様に、「男子大学生 」オブジェクトもみてみよう!
このように、女子大生や男子大学生は複数の操作を持っている。プログラムのmainメソッドや他のオブジェクトから、そのオブジェクトの操作を呼び出すことができるのだ!!
例えば・・・
プログラムのmainメソッドから女子大学生に「クロール」という指示を送れば、女子大学生は仮想世界でクロールをしだす。
同様に、男子大学生に対して「クロール」と指示を送れば、仮想世界でクロールをしだす。
また、あるオブジェクトから別のオブジェクトへ操作の指示を送ることも可能!
mainメソッドから男子大学生に「プロテインを渡す」を呼び出す。
すると、女子大生は操作「食べる」を呼びだされ、プロテインを食べます。(実際は飲みますけど、ここはスルーでお願いします・・・ )
その他
オブジェクト指向の指向は、「〜を大切にした」「〜を中心に据えた」という意味