1についてだけど、何でもっと早くやらなかったのかというと、単に自分で、自分の知識不足がわかっていたためです。
もちろん、いまでも、怪しい箇所(間違って理解している箇所)や知らないことなんてたくさんあるのですが、前、たとえば、UMTP
L2取得時(約2年前)はなんと、デザインパターンについてまったく知らず、BCEパターンも知りませんでした(※1)。アスペクト指向のアの字も知りませんでした(※2)。
そんな状態で、オブジェクト指向についての内容をHPに載せたら、このHPを見てくれた人に迷惑をかけてしまいます。HPの信頼が傷つく。だから今までやらなかった。
で、今回、もうそろそろ、いいだろうと思って、オブジェクト指向についての内容をHPに載せることにしました。
2についてですが、エクセルVBA関連のHPで、オブジェクト指向について書かれているHPはそんなに多くないです。(無いことはない。)じゃあ、やるかということで。
3についてですが、「オブジェクト指向というと、カプセル化、継承、多態性の3つ」は正しいと思います。
しかし、もし、オブジェクト指向を今から勉強する人は上記の3つについてはいったん忘れてほしいです。
もし、今オブジェクト指向の本が手元にあるのであれば、確認してほしいのですが、オブジェクト指向について一番最初に書かれている内容は何でしょうか?
「カプセル化」、「継承」、「多態性」のどれでもないはずです。
たいていは「オブジェクト」や「クラス」とは何かという(ほとんどの人には)意味不明な説明が書かれていると思います。
だるまも、「オブジェクト」や「クラス」についてうまく説明する自信は無いのですが、しかし、これを理解しないと、「カプセル化」、「継承」、「多態性」を理解しても、それは意味が無いと思います(※3)。
ということで、残念ながら自信は無いのですが、「オブジェクト」や「クラス」についてをER図だったりモジュールの強度(凝集度)の点から説明していけばまだましな説明になって、より多くの人がオブジェクト指向を理解できるんじゃないかと思って(※4)、オブジェクト指向に関することをHPに載せることにしました。
それと、「オブジェクト指向なのか?」を意識して欲しいです。流行っているからとか、かっこよさそうだからとかでは決してありません。品質を高くしたいからです。品質(特に強度(凝集度)や結合度)を高くしようと考えたり、データの整合性(データ中心アプローチ)を考えたりするとオブジェクト指向に行き着くと思います。
4についてですが、新人の面倒をみるのは今後もある。そのときに、「このHPを見ておいて。」と言っておけば、その分、このHPのアクセス数がアップする。
新人向けということもあるので、ページに情報処理試験やUMTP
などの資格の出題範囲である内容が含まれる場合には、極力その旨を書くようにしたいと思います。資格はできるだけ取得して欲しいですから。
※1:UMTP
L2ではデザインパターンは出題範囲では無かったと思います。それとBCEパターンは出題されますが、知らなくても解けるようになっていたと思います。
※2:アスペスト指向について何も知らないということはオブジェクト指向でできることは知っていても、できないことは知らないということだとだるまは思います。
※3:これは、だるまの偏見なのですが、「オブジェクト」や「クラス」についてちゃんと理解していない人が設計したクラス図は、モジュールの強度や結合度に注意を払わなかったり、デザインパターンに頼りすぎたり、継承ばかり出てきたり、エンティティクラスがまったくなかったりすることが多い気がします。
※4:こんな大それたこと書いていいのか?