栗悟飯とカメハメ波

秋葉系ニートブログ。

【Javaメモ】オブジェクト指向の基本的な考え方と概念

オブジェクト指向プログラミング】:大規模なプログラムを楽に開発可能

メソッドやクラスが増えれば増えるほど人間の脳が追い付かなくなってくる
→人間が内容を把握しやすいプログラムを開発する必要性

現実世界に似せたものを作り出す
→人などをオブジェクトとしてとらえてどうしたらこの人の役割を仮想世界の中で再現できるかを考える


オブジェクト指向のメリット】
ラクして楽しく良いものを作れる(これを難しく言う人はアホ)


例)ATM
受付の人→受付クラス→受付オブジェクト
口座→口座クラス→口座オブジェクト
用紙→用紙クラス→用紙オブジェクト
印刷→印刷クラス→印刷オブジェクト
オブジェクトにすればいくらでも量産可能!!
(インスタンスともいう)

クラスという設計図的なものを作りそこからオブジェクトとして登場人物を作り出す
→クラスをわざわざ作る理由は例えば型があればお菓子が何個も同じものが作れるようにクラスは型として存在し、その型からオブジェクトを量産することができるからである

Java仮想世界を作り出す


【オブジェクトが持っているもの】
行動責任:あらかじめ設定された役割を果たす
情報保持責任:文字通り記憶する責任

情報保持、行動責任を果たすために属性操作をオブジェクトは持っている


属性:登場人物についての情報
操作:登場人物が行う行動、動作手順

例)勇者
//属性
名前ーレオ
HPー100
//操作
戦う
逃げる
眠る


ここから新しいクラスを作ってメインメソッドの方でそれぞれのオブジェクトの操作を呼び起こしたりしてプログラムを組んでいく。
→メインメソッドはその仮想世界における神様的存在

例えば勇者レオに戦うという操作があるが、これを実行するためにメインメソッドのほうでこれをするように勇者レオに命令を飛ばす。


【オブジェクト3要素】
継承:過去に作った部品を流用して新しい部品を作ること
多様性:似ている2つの部品を同じようなものとしてとらえること
カプセル化:属性や操作を一部の相手からは利用禁止にすること