タナカのプログラミング

プログラミングについて

オブジェクト指向とクラスとインスタンスとついでに経過

 

f:id:tanagram18:20190902172734j:plain

ども久々の投稿です
TECH::EXPERTを卒業して無事に企業に就職したのち、1ヶ月で退職するという暴挙に出たタナカです。
日々、Ruby を勉強してる毎日ですが今更ながらオブジェクト指向とクラスとインスタンスについてしっかり説明できない気がしたので文章にしてジョジョありきで頭の中を整理していこうと思います。
 
まずオブジェクト指向って何??
プログラミングを学ぼうとすると必ず序盤に出てくるオブジェクト指向
検索をかけても説明が人それぞれバラバラだし、よくわからん。
なんなら自分も100%ピンときていない、、
なんとなくコレかなーと思った記事を見つけたので貼っておく。
オブジェクトとは「モノ」という意味で
オブジェクト指向とは「こうゆうモノを作りましょう」「そしてそのモノを使いましょう」という概念。
ジョジョでいうと
「波紋の力で葉っぱを集めて飛行機を作りましょう」「そしてその飛行機を使って敵から逃げましょう」これがオブジェクトオーバードライブ。
 
ではプログラミングで考えた時、なぜモノを作っておくと良いのか。
 
①大変な作業をなくす

康一のスタンド名3つバラバラで考えるの面倒だから「エコーズACT〜」まで共通化しよう!

②大人数で開発するとき便利

「スタンド」という共通化されたルールがあれば、他の人がプログラムを壊す心配はない

 

jojotheworld.com

③同じようなものを作りやすい

ハーヴェストの形状、大きさバラバラで書くの面倒だから全部同じにしよ

 

クラスとインスタンス

クラスはオブジェクトの設計図。

インスタンスは『実体』『実例』という意味でクラスから作られた実動するもの。

ジョジョ風にまとめるとこんな感じw

 

f:id:tanagram18:20190902170537p:plain


 

クラスはオブジェクトの設計図って言ったけどややこしいのでクラスはこれから作るモノの設計図ってだけ考えればいい気がする。

ここでは書きませんが後々勉強していると「インスタンス変数」というものが出てきます。

これまたややこしいんですが、ここで言うとジョジョ図の属性と「スタープラチナ」「近距離タイプ」「時を止める」といった属性に与える情報がインスタンス変数にあたると思います。間違ってたらすいませんw

 

まとめると

 

です。

色々ふざけながら、自分の感覚的に話したので間違ってるとこあったら教えてください。

よろしくお願いします!!!

そして経過ですが長くなったので次に書きます。

 

tanagram18.hatenablog.com