まつもと ゆきひろです
In message "[ruby-list:2615] Re: class design (Re: url escape)"
on 97/04/05, MAEDA Shugo <ender / pic-internet.or.jp> writes:
|
|前田です。
|現実世界の事物をモデル化しようとする場合、コードの再利用の目的では
|なく、分類の考えに立って継承を利用してしまうことはありがちである。
|しかし、サブタイプとサブクラスは異なる概念である。
|両者の違いを示す一つの例として、円と楕円がある。現実世界では円とは
|長径と短径の長さが等しい特殊な楕円の一種であると言える。つまり、円
|は楕円のサブタイプである。しかしSmalltalkでそれを実装する場合、単一
|の直径変数を持つスーパークラスとしてCircleを定義し、さらに変数を付け
|加えたサブクラスとしてEllipseを作成するだろう。
|
|これを読んでなるほど、と思った記憶があります。
|rubistとしてはどちらの考え方が良いのかな。
rubyistです.^^;;;
さて,既に指摘がある通り,この例にはちょっと問題があります.
# 数学的な題材を選んだのがまずいのか….
しかし,いわんとしていることはサブタイピング(仕様の継承)とサ
ブクラシング(実装の継承)があるということで,これは確かに意味
のある分類です.んで,rubyではサブタイピングは全く重視してい
ません.
まつもと ゆきひろ /:|)