クラスモジュールについて

こんにちは。伊川(@naonaoke)です。

現在、勉強中の伊川です。

今回は、クラスモジュールの進捗状況についてお話します。

ご視聴者様からの質問
いつも実用的でためになる動画をアップして下さり、大変助かっております。
ExcelVBAは、日頃仕事でも使用しており、初級程度の心得はあるつもりなのですが、「クラスモジュール」の使い方がイマイチわかっておりません…。
「VBA クラスモジュール」などで動画検索をしてみたりはしましたが、今のところわかりやすい動画にも出会えていない状況です。
現時点で、クラスモジュールで何か具体的にやってみたい事がある、というわけではないのですが、自身の興味とスキル向上のため、もし可能であれば、
何か簡単な具体例でご紹介頂けないでしょうか?
宜しくお願い致します。


スポンサーリンク



オブジェクト指向

この考え方は、グループサウンズのころからあるようです。

カンタンに言うと、プログラムを作成するときの考え方です。

本当にカンタンすぎに説明しました。

オブジェクト指向の言葉に出会ったのは、下記の書籍です。

このオブジェクト指向は、クラスモジュールを作成するうえで必要な考え方です。

クラスモジュールには、下記の考え方があります。

クラスモジュールの考え方
オブジェクト指向
カプセル化
継承
ポリモーフィズム




カプセル化

他のプログラムに迷惑をかけない。




継承

共通部分から派生

ポリモーフィズム

車というものから派生します。


詳しくは、この動画で説明されています。





オブジェクト指向 考え方 その1 あるあるの説明

  1. タイ焼きの型⇒クラス
  2. 小麦粉を型に入れる⇒インスタンス

このように説明されます。

理解はできます。

しかし、現実に、たい焼きの型と、小麦粉をどのようにプログラムに表現するのか分かりません。




オブジェクト指向 考え方 その2 参考にしたサイト

 

 

 

 

 

このお二方に関しては、たい焼きの話に関しては、利用しないほうがいいと仰ってました。




オブジェクト指向 考え方 その3 現実の世界にプログラムを反映させる

しかし下記の書籍でこのように仰ってます。


created by Rinker
¥2,640 (2020/12/03 17:24:32時点 Amazon調べ-詳細)



オブジェクト指向 考え方 その4 ポチのプログラムを記載するには?

動物
哺乳類

犬の鳴き声を定義
ポチというネームタグを持った犬
鳴けという命令
動物
哺乳類

犬の鳴き声を定義
タローというネームタグを持った犬
鳴けという命令

このネームタグという考え方がポイントです。

 






オブジェクト指向 考え方 その5 クラスの設定

全てをグローバル変数に依存することはよろしくありません。

なぜならグローバル変数が破損すると、すべての作動が止まります。


このような記載ですと、見やすく、読みやすく、メンテナンスが楽になります。

クラスモジュールで、何ができるかではなく、

クラスモジュールを使う事で、コードが短縮され、エンジニアが楽できるという事です。


上の表から、インスタンス変数が、いかに優れているかという事がわかります。




オブジェクト指向 考え方 その6 下記の図が現時点での私の結論


もし、犬のクラスに猫が来たらどうなるのでしょうか?


多分エラーになります。

しかし、それでは、汎用性がないと思います。

現時点は、そのコードの書き方がわからないですが、猫のクラスから呼び出せるような気がします。

今回は、犬にワンとなくプログラムです。

もし猫のクラスからの呼び出し方法を、値渡しにすると、犬のクラスの値が変わります。

だから、参照渡しにして、犬のクラスの変数の値を保持したまま、ニャーと鳴かせることができるのではないでしょうか?




ここがポイント

ここがポイント
Function8.png
長い間、勉強しましたが、いまだ結論に至りません。特に、クラスモジュールを使って、具体的なプログラムを記載するには至っていません。しかし、オブジェクト指向という考え方に出会って、少しだけ理解できたような気がします。

本当にプログラムの学校に行きたくなりました。

 




まとめ

なんとか、ご視聴者様の質問に答えるべく、勉強を継続します。

今回のサンプルファイルは、ありません。。

サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事