浮動小数
■ このスレッドは過去ログ倉庫に格納されています
0265デフォルトの名無しさん
NGNG正確に言うと
親の型に対応する代数系A、子の型に対応する代数系Bとして
BはAの部分代数系ということです。
代数系は台集合(まぁいわゆる値の集合)と
その上で閉じた演算の集合で表現されます。
「その上で閉じてる」というのは台集合上で演算した結果はが台集合に含まれるということです。
部分代数系の場合、部分代数系も台集合が親の台集合の部分集合で、
かつ「親」の演算がその部分代数系の台集合について閉じている必要があります。
実数rと複素数r+0.0*iという自然な対応がありますから
何らかのポリモルフィズムが期待されます。
実際複素数の集合に実数の集合は完全に含まれていて
実数の加減乗除といった基本演算は
複素数上で行っても実数の範囲で閉じてますから
確かに継承で表現できる可能性はあります。
ただ、実装の継承が開発効率上・実行効率上意味がないので
(まぁベクトル値からスカラー値を継承するようなもんだし)
ムリに継承でこのポリモルフィズムを実現するのはあまり実用的ではありません。
なので型変換と演算子、関数の多重定義で実現しておくのが無難であるわけです。
(Javaにはどっちもないのが残念ですが。)
■ このスレッドは過去ログ倉庫に格納されています