オブジェクト指向とは
オブジェクト指向の本質
現実世界のモノとふるまいを、コンピュータの世界で再現すること。
オブジェクト指向プログラミングのメリット
- プログラムを変更しやすい
- 再利用しやすい
オブジェクト指向プログラミングの大まかな手順
- プログラムで実現する部分のモノ(フィールド)とふるまい(メソッド)を洗い出す
- 洗い出したフィールド・メソッドを設計図(クラス)に落とし込む
- プログラムを動かすときは、クラスから実体(インスタンス)を生成する
手続き型プログラミングとの違い
手続き型:どんな手順で実行するか
オブジェクト指向:どんなフィールドとメソッドが必要か
カレー作りで例えると・・・
手続き型
レシピにそって、最初から最後まで順番通りに自分で作る
モノ:肉、ニンジン、ジャガイモ、カレールー、鍋・・・(バラバラに用意)
ふるまい
1.野菜を切る
👇
2.肉を炒める
👇
3.煮込む
※**1から順番**に実行)
オブジェクト指向
**自律して動くロボット(オブジェクト)に命令を出す
モノ
シェフ・ロボット {
切る
炒める
煮る
}
コンロ・ロボット {
温度
火をつける
火を消す
火加減を強くする
火加減を弱くする
}
ふるまい
1. シェフに「野菜を切る」指示をだす
👇
シェフ・ロボット生成
👇
シェフ・ロボットが野菜を切る
👇
2. コンロに「火をつける」指示を出す
👇
コンロ・ロボット生成
👇
コンロ・ロボットが火をつける
👇
3. シェフ・ロボットに「鍋で野菜を煮る」指示を出す
👇
シェフ・ロボットが鍋で野菜を煮る(ロボット本体は生成済みなのでふるまいだけ)
➡大規模なシステムでコード量が増えてくると、データと動作をまとめて定義している
オブジェクト指向のコードのほうが見通しが良くなりやすい