文系でもちゃらんぽらんでもプログラマになりたい!!

大学ではダンス三昧。サークルとバイトで、気が付けば留年。どうも、Mr.ちゃらんぽらんです。今はAIの研究、プログラミングしてます。

どんなプログラムでもサクサク錬成!オブジェクト指向プログラムを錬成するための賢者の石的な素材とは?

どうも!

鈴木です.


最近,
鋼の錬金術師
はまりまして


それで
こんなタイトルが
錬成されました笑


さて,今回は
オブジェクトについて
掘り下げます


平和のための使い方は
また今度◎


前回は
サックリとした
説明だったので


正直
あんまり
理解できなかった
思います

 

そこで今回は
理解を深めるための
話をします


わからなかったら
使えない


使えなかったら
何の意味もないですからね


時間も努力も
さようなら。

f:id:szk1ck:20180528154215j:plain


は,
さすがに
キツいので笑


オブジェクトの
イメージを
具体的にしましょう!


オブジェクト指向
まるっと理解して
使いこなして
一人前に!!


クソ長いごみコードとは
おさらばです!!


行きますよ!!


オブジェクト指向
具体的に理解するための
賢者の石的な要素!!


それは!


カプセル化
継承
ポリモーフィズム
です!!


さて,
いったん
落ち着きましょう.


この3つ
どんな役に立つのか
ご説明します


まずは,
カプセル化


これは,
前回の“オブジェクト”
そのものです


関数や変数
そういったものを
ひとまとまりにすること,
カプセル化です

f:id:szk1ck:20180528155431p:plain


こうして
カプセル化したものを
オブジェクト
そう考えれば間違いないです


さてここで,
『アクセル』『ブレーキ』
という機能(関数)を持った
車(オブジェクト)があります


ここに,
『運搬』
という機能(関数)を
加えます


こうして
車を進化させた
トラックが生まれます

f:id:szk1ck:20180528155539p:plain


これが,
2つ目の要素
継承
です


オブジェクトの
関数や変数を
使い回すことができます


この場合は
『アクセル』や『ブレーキ』を
使い回したかったので
『車』を継承しました


最後は
ポリモーフィズムですね


これは
多態性とか
そんな意味です


同じ関数なのに
オブジェクトによって
動作が異なることです

 


『アクセル』や『ブレーキ』は
『車』だけではなく『バイク』
にもありますね


『車』の『アクセル』は
踏む
という動作


『バイク』の『アクセル』は
捻る
という動作


同じ名前で
違う動作をする


これがポリモーフィズムです


今回も難しかったですね!


前回イメージした
オブジェクトを
3つの要素で
具体化してみましょう!


もしくは,
『車』でもいいので
3つの要素を
考えてみて下さい

 

それでは!


ご精読ありがとうございました.
次回もぜひ◎