[652] Re:オブジェクト指向「初」入門
投稿者:(ぱ)
2007/02/20 02:13:25
>例えば、「クラス」という用語の意味は「分類」であって、「原型」では
>ありませんから、「クラスからオブジェクトを作る」という言い方は
>おかしいのです(実装面からの理解であれば問題ありません)。
たとえばUMLだと、「継承」という言葉よりも「汎化」という言葉を使いますよね。
クラスという言葉の辞書的な定義はともかく(単に用語が不適切であるという可能性も
あるので)、分析レベルでは、確かに「分類」と捉えたほうがよいのかもしれません。
>こっちの考え方は、突き詰めると数学や論理学の知識が必要になってしまうので、
>実装面ほど簡単ではありません(私も勉強したいのですが、それらベースと
>なる知識が足りないため足踏みしています)。
ただ、そっち方面を突き詰めると、たとえば(よくある例ですが)
「円と楕円はどっちがスーパークラスか?」という問題で間違った解を選んで
しまいそうな気もします。
数学や論理学の世界では、円は楕円の特殊形ですが、だからといってCircleを
Ellipseのサブクラスにすることが妥当とは思えません(ただ、メンバが増えている
からといって、EllipseをCircleのサブクラスにするのが適切とも思えません)。
実装面べたべたで行くと、抽象度の高い設計ができずに後ではまるといった
問題があるのかもしれませんが、実装を離れて理論で突っ走っても、結局変なことに
なってしまうように思います。月並みですがバランスが大事、ということでしょうか。