プログラミングをやっているといると、良く耳にするオブジェクト指向というワードなんとなく理解していたが、アウトプットも兼ねて記事にまとめてみることにしました。
オブジェクト指向とは
プログラミングをわかりやすく、効率的に書く書き方と考えで、クラス単位でコードを書くことです。
オブジェクト指向を最低限理解するのに必要なワードは''4つ''です
- プロパティ
- メソッド
- クラス
- インスタンス
ワード解説
プロパティ(変数)とは、必要な値のこと
メソッド(関数)は、必要な処理のことです。
注:クラス内の変数と関数は、プロパティとメソッドと呼ばれます
そしてクラス(設計図)は、プロパティとメソッドをまとめたものです。
インスタンスは、物そのものです
ドラえもんで例えると
ドラえもんの赤い鼻などのパーツが、プロパティ
ドラえもんが秘密道具を出すや歩くなどの処理を、メソッド
それらをまとめた設計図を、クラス
ドラえもんがインスタンスということです
自分が勉強しているlaravelでも、オブジェクト指向の考えで書かなければいけません
class PhotoPostController extends Controller
{
public function store(Request $request){
$member = new Photo_post();
$member->user_id = $request->user_id;
$member->medical_factory_id = $request->medical_factory_id;
$member->medical_subjects = $request->medical_subjects;
$member->note = $request->note;
$member->prescription_date = $request->prescription_date;
$member->photo = $filename;
$member->save();
return redirect('/');
}
}
オブジェクト指向のメリット
機能の追加・改善がしやすいことです。
たとえばLINEのタイムラインにBAD機能を追加するときは
タイムラインのクラスに、BAD数のプロパティを追加して
BADを投稿するメソッドを書いてやれば動くことができます。
しかしオブジェクト指向じゃない考え方で書くと
世界中のタイムラインに
BAD数とBADを投稿する機能を書いていく必要があり
非常に面倒になります。