永続クラスの継承〜その2

※その1=>*1


つまり、「明示的ポリモーフィズムを親に定義するのか、子に定義するのか」ということだけど。
試しに孫まで作ってみた。

public class EntityA{
(略)
}

public class EntityB extends EntityA{
}

public class EntityC extends EntityB{
}


この場合は「親子孫のどれか二つに定義する必要がある」ことがわかる。
親だけでも、子だけでもダメだが、親+子でも親+孫でも組み合わせはなんでもよいわけだ。


基本的にはクラスは自分の子孫については認知しないので、子以下のクラスに書くべきなのだろうが、親の親まで把握していないと痛い目にあうわけだ*2


まぁ・・・あまり使わないのだろうけどね。

*1:http://d.hatena.ne.jp/Ochotona/20060323/1143110882

*2:単体テストクラスを書いておけば問題はない。当然だ!