どうも、脱サラ理学療法士のぼんぼりです。
プログラミング勉強がぼちぼちややこしくなってきたので、ちょっとここいらで大事な知識を整理しておきます。
整理しておきますといいつつも、グダグダな理解感を書いているだけなので参考にはならないかもしれません、いやならないでしょう。
コンストラクタ?それってつおい?
コンストラクタって言われても、なんのこっちゃらって感じですね。
少なくとも、僕の現状はこんな感じです。
クラスやらメソッドやらが出てきだしてからちょこちょこ使われるようになったのが、コンストラクタです。
こいつは、あるところで作ったプログラミングをまたあるところで使うって感じでざっくりとした理解をしているんですけども、すいません、このままの説明ならクラスにもメソッドにもいえることなんですよね。
メソッドとクラスと、その間に生まれる副産物的なイメージで捉えています。
メソッドもクラスもないと、このコンストラクタは機能しません。
こやつらの中であちらこちらに値を引き渡しているのがコンストラクタなのかなと思っていますが、うん、やっぱしっくりこないですね。
もっとしっくりくる言葉があるはずなんですけど、どうも言語化がむずかしい。
コードを追えばある程度説明しやすいのですが、何もなしじゃ自分でもわかりづらいですね。
何やつ?インスタンスさん
はい、こやつもクラス、メソッドの中ではじめて機能するもんです。
例によって、理解はあいまい。
こやつも、クラス、メソッドの間で揺れ動いている程度にしか理解していません。
なんで、インスタンス生成っていわれると、ちょっと混乱します。
どこからどこまでがインスタンスなのかな?
コードを追えばほんのりわかりますが、いったんそこから目を離すと途端に混乱します。
インスタンスとは何か。
僕の理解では「何やら小さい範囲で宣言されているもの」です。
クラスの中のメソッドのなかの、要素の1つです。
だから、インスタンス生成っていうのは、その要素をひとつポコッと作り出すことなんだと思っています。
メソッドってなんなの?
メソッドは、ある機能を持ったまとまりのことです。
〇〇メソッドみたいに、1つメソッドを宣言しておけばいろんなところで使い回すことができます。
#クラスって?
クラスは、いろんな部品のパッケージみたいなもんですね。
いろんなメソッドやインスタンスが詰め込まれた袋を、クラスとしてまとめているんですね。
ゲームにまつわるクラスであれば、ゲームクラスになるだろうし、車に関するクラスであればカークラスになるでしょう。
まとめ:まとめきれないのでまた今度
アウトプットしてみて気づきました。
全然理解できてねーじゃん、僕。
ということで、出直しです。
チャンチャン!


コメント