リスコフの置換原則
1. 原則
サブクラスは親クラスと交換可能であること
- サブクラスと親クラスを交換してもコンパイルエラーが発生してはならない
- 即ち、サブクラスは親クラスのI/Fを変更してはならない。
- クラスは親クラスと同じ呼び出し方が出来ないといけない
- クラス毎に異なる呼び出し方ができてはいけない
- 派生元に依存すること
2. 根拠
事前/事後条件が変わるという事はクラスが親子関係ではない可能性がある
I/Fが変化するということは継承関係ではない
I/Fが変化するということは、そのサブクラスは親クラスと親子関係ではないことの証明である。
3. 指針
事前条件を派生クラスで強くしない
事後条件を派生クラスで弱くしない
4. 注意事項
参考資料
- 特に無し