オブジェクト指向とクラスとインスタンスとついでに経過
ども久々の投稿です
TECH::EXPERTを卒業して無事に企業に就職したのち、1ヶ月で退職するという暴挙に出たタナカです。
まずオブジェクト指向って何??
プログラミングを学ぼうとすると必ず序盤に出てくるオブジェクト指向。
検索をかけても説明が人それぞれバラバラだし、よくわからん。
なんなら自分も100%ピンときていない、、
なんとなくコレかなーと思った記事を見つけたので貼っておく。
オブジェクトとは「モノ」という意味で
オブジェクト指向とは「こうゆうモノを作りましょう」「そしてそのモノを使いましょう」という概念。
ジョジョでいうと
「波紋の力で葉っぱを集めて飛行機を作りましょう」「そしてその飛行機を使って敵から逃げましょう」これがオブジェクトオーバードライブ。
ではプログラミングで考えた時、なぜモノを作っておくと良いのか。
オブジェクト指向のメリット
①大変な作業をなくす
康一のスタンド名3つバラバラで考えるの面倒だから「エコーズACT〜」まで共通化しよう!
②大人数で開発するとき便利
「スタンド」という共通化されたルールがあれば、他の人がプログラムを壊す心配はない
③同じようなものを作りやすい
ハーヴェストの形状、大きさバラバラで書くの面倒だから全部同じにしよ
クラスとインスタンス
クラスはオブジェクトの設計図。
インスタンスは『実体』『実例』という意味でクラスから作られた実動するもの。
ジョジョ風にまとめるとこんな感じw
クラスはオブジェクトの設計図って言ったけどややこしいのでクラスはこれから作るモノの設計図ってだけ考えればいい気がする。
ここでは書きませんが後々勉強していると「インスタンス変数」というものが出てきます。
これまたややこしいんですが、ここで言うとジョジョ図の属性と「スタープラチナ」「近距離タイプ」「時を止める」といった属性に与える情報がインスタンス変数にあたると思います。間違ってたらすいませんw
まとめると
- オブジェクトはモノ
- オブジェクト指向とはモノを作って操作するという概念
- クラスはモノの設計図
- インスタンスはクラスから作られたモノ、、なのでオブジェクトとインスタンスは似てる感じ??
- インスタンスとインスタンス変数は別物
です。
色々ふざけながら、自分の感覚的に話したので間違ってるとこあったら教えてください。
よろしくお願いします!!!
そして経過ですが長くなったので次に書きます。