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