第9章 LSP: リスコフの置換原則
SOLID原則のうちの L
LSP
S型のオブジェクトO1の各々に対応する、T型のオブジェクトO2が一つ存在し、Tを使って定義されたプログラムPに対して、O2の代わりに、O1を使ってもPの振る舞いが変わらないなら、SはTの派生型であると言える
LSPは継承の使い方の指針になるものだと考えられていた、しかし時間をかけて適応範囲は広がり、インターフェイスと実装に関するソフトウェア設計の原則になっている
インターフェイスは様々な形式がある
Java風のインターフェイスは、それを実装したクラスをいくつも作れる
Rubyなら、同じメソッドシグネチャを共有するクラスをいくつでも作れる