拡張性/柔軟性を獲得する章

3.3. 継承はカプセル化を壊す

継承は、良かれ悪かれカプセル化を壊します。

サブクラスがきちんと動くかどうかはスーパークラスの実装に依存します。

スーパークラスはリリースされる毎に変更されるかもしれません。
その変更はサブクラスにとって良いことばかりではありません。

スーパークラスを修正したらサブクラスも直ることもあります。
スーパークラスを修正したらサブクラスが正しく動かなくなってしまうかもしれません。

きちんと拡張を念頭においたスーパークラスの設計や文書化をしていないと、 サブクラスはスーパークラスの動向をずっと気にしなければなりません。

3.4. 継承の悪い例
3.5. 継承の良い例

< 前のページへ

Pagetop