はもちくわ

コードについて自分なりの解釈を書いてます。

クラスの勉強をはじめました

PHPで仕事したいなぁと考えてましたが、レベル不足で全然ダメだったので、あきらめて、趣味でごちゃごちゃやっておりますが、ある程度勉強をしていくと、
「クラス使えないのはダメ」とか「クラスなしの駄文」とか、、、いろいろ目にして気落ちする問題に当たります(笑)
「使えなくても動くからいいじゃないか!」と避けて来ましたが、最近、自作のコード規模が大きくなってきて、読みにくくて触れない状態になってきました。
最低限、関数化して見やすくするのですが、もっと何かないのか?と自分からそう思うように至りまして、、、、

結局クラスに手を出すことにしました。すると、、、あら、便利そう(笑)

勉強を始めた当初は全く意味がわからなかったのですが、ある程度勉強したおかげで少し内容がわかってきました。PHPで言えば、DateTimeを使うことと一緒なんですね!DateTimeを使うとき、私はNewで名前付きの時計を作ることをイメージしてたんですよ。一回変数に名前付きの時計を入れておけば、7日後とか2時間前とか指定するだけでわかるなんて便利〜って、思ってたんですよ。まさにこれでした。これは変数って言わずにオブジェクトって言うんですね。
なるほど、ExcelVBAでも同じですね。セルとかシートとかブックのオブジェクト(物体)に名前をつけて動かすイメージですもの。この名前をつけるときに使うSETが、 PHPでいうと、Newなんだ〜。

あと、やたら用語が難しくて当初困ってましたが、難しく考えすぎでしたわ。使っているのは変数と関数だけなんですね。

クラスは変数と関数の集合体で、クラスの中に入ると、変数がプロパティ、関数がメソッドになるわけだ。
で、クラスはあくまで金型+設計図でコレ自体を使うわけではなくて、Newで名前をつけてオブジェクトに実体化するわけですね。関数と違うのは、データを保持したまま量産が可能なのね。しかも量産したものを配列に入れたりもできると。。。

これを学校のクラスを考えると、いままでの変数データの集合体の配列はいわゆる名簿で、クラスで人間という設計図を作って量産したオブジェクトの集合体は。。。まさにクラスだ(笑)

これをまとめると、、、

こうなった!どうだ!?う〜ん、まだわかりにくいか(笑)