Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


18436 / 76732 ←次へ | 前へ→

【63738】Re:1だけ
お礼  みそじのおじさん  - 09/12/6(日) 13:30 -

引用なし
パスワード
   ▼YU-TANG さん:
レスありがとうございます。
返事が遅れ申し訳ありません。忘年会の二日酔いにやられていました。

>残念ながら、VBA では実現できません。
>VB.NET のようなオブジェクト指向言語を使うしかないでしょう。

これは承知しておりました。

>ただ、継承と関係ない使い方として、あるクラス foo に手を入れずに
>特定の機能群を拡張可能にしたい場合は、それらをまとめたクラス bar
>のインスタンス自体をプロパティとして公開してしまう方法が有ります。
>この場合は、クラス bar を拡張しても、クラス foo を変更する必要は
>ありません。その代わり、呼び出し方は foo.bar.hoge() のような
>形になりますが。

なるほど、非常に参考になります。
「インスタンス自体をプロパティとして公開してしまう方法」
これがみそなんですね。

>もしかしたらご存知の上であえて使っていないだけかもしれません
>が、Implements ステートメントをヘルプで調べてみてください。

はずかしながら、こちらは知りませんでした。
じっくり調べてみたいと思います。

クラスを作成する意義、カプセル化、ポリモーフィズムなどの概念は
理解しているつもりでしたが、いざ実装となった時に、ここはどうする?
あーここはだめだとクラス作成の経験不足があちこちに出てきてしまいます。

特に、ichinoseさんがこのサイトで何年か前に、
「モジュール間の結合度が強すぎる」と書かれていた事があってその当時
強い衝撃を受けました。(まさに自分のコードがそれそのものだったので)

 それから結合度という言葉を意識しながらコーディングしているつもり
なのですが、出来上がる物は残念ながら汎用性のない物になることが
多々あります。まだまだ修行がたりませんね。^^

YU-TANGさんとても参考になりました。ありがとうございました。

0 hits

【63733】VBAにおけるクラスの擬似承継 みそじのおじさん 09/12/4(金) 18:13 質問
【63734】1だけ YU-TANG 09/12/5(土) 20:30 回答
【63738】Re:1だけ みそじのおじさん 09/12/6(日) 13:30 お礼

18436 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free