作成日 2007/4/22
最終更新日 2009/8/6
[ Japanese | English ]

コンテンツの開設理由

 コンテンツの開設理由は以下の通り。(※適当)

  1. 今までオブジェクト指向を4年近く勉強してきたので、勉強してきた内容をまとめようと思った
  2. HPのネタになりそう
  3. オブジェクト指向というと、カプセル化、継承、多態性の3つだけど、なんか違う気がした。
  4. 会社で新人の面倒をみることになり、そのついで。

 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:こんな大それたこと書いていいのか?


Prev Up Next  Top

このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
UMTP は特定非営利活動法人UML モデリング推進協議会の登録商標です。
Google は Google Inc. の登録商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。