第9章 LSP: リスコフの置換原則

SOLID原則のうちの L LSP

S型のオブジェクトO1の各々に対応する、T型のオブジェクトO2が一つ存在し、Tを使って定義されたプログラムPに対して、O2の代わりに、O1を使ってもPの振る舞いが変わらないなら、SはTの派生型であると言える

LSPは継承の使い方の指針になるものだと考えられていた、しかし時間をかけて適応範囲は広がり、インターフェイスと実装に関するソフトウェア設計の原則になっている

インターフェイスは様々な形式がある
Java風のインターフェイスは、それを実装したクラスをいくつも作れる
Rubyなら、同じメソッドシグネチャを共有するクラスをいくつでも作れる