[723] Re:オブジェクト指向「初」入門
投稿者:CES
2007/02/20 02:13:25
要点抽出。
>議論が空転している気がするんです。整理しましょう。
>まず(常識的かどうかは置いておくとして)「オブジェクトの is-a」で大まかな関係を作るというのは、どちらも同じことを言ってますね。
>kit さんは、その上で「LSP に照らして破綻したら、継承関係にはしない」と言う。
>俺は「LSP に照らすまでも無く、継承関係にしてはいけない場合がある」と言う。
>結局、どの段階で、最初の「is-a」が間違えていたかを判断するのかが違うだけで、大差ないでしょう。
>問題は「LSP に照らさないと、間違いかどうか判断できないケースはあるのか」だと思うんですよ。
>そのへんどうです?
1:オブジェクトが is-a であると仮定した。
2:LSP に照らし合わせたらうまくいった。
3:継承関係を結んだ。
これに異論を差し挟む余地は無いでしょう。
問題は、そうでないケースですね。
kit さんの場合
1:オブジェクトが is-a であると仮定した。
2:LSP に照らし合わせたらうまく行かなかった。
3:オブジェクトは is-a なんだけど継承関係にはしない。
俺の場合
1:オブジェクトが is-a であると仮定した。
2:LSP に照らし合わせたらうまく行かなかった。
(照らし合わせるまでも無く判断できる場合もある)
3:実はオブジェクトは is-a じゃなかったんだ。だから継承関係にはしない。
結局、違うのは、過程3の前半だけなんですよね。
だから、[712] ではこう書いているんです。
> is-a と LSP をどうしても両立させられない例を一つでも出していただけませんか。
俺の方法ではうまく行かないケース、つまり
「どこからどう見ても疑念を挟む余地無く is-a なんだけど、LSP に照らし合わせたらうまく行かないから、LSP を優先するケース」
があるのか、ということなんです。俺が度々言う「is-a と LSP が矛盾するケース」ってのはこういうことなんです。
「常識的な is-a と LSP が矛盾するケース」ではないですよ。「どこからどう見ても」ってのは、「あらゆる非常識な関係も考慮に入れて」ってことです。
こういう場合があると言えますか?
俺は「あらゆる角度から見る」ことが不可能であるため、そのようなケースは存在しないと思うのですが。