継承の履歴

抽象的なものを親として定義し、
それ継承して具体的に定義する。これを子と呼ぶ。

置き換えが効くものしか継承してはいけない。

○果物は食べ物だ→りんごは食べ物だ

抽象的な親:果物
具体的な子:りんご

×りんごジュースは飲み物だ→りんごは飲み物だ

抽象的な親:りんごジュース
具体的な子:りんご
→とはならない

重要ポイント


「りんごは飲み物ではない」という
普遍的真理があるのであれば
実装しやすいのだが、
「りんごは飲み物であるかもしれない」
という事実を考慮しなくてはならない場合、
設計が必要となる。

選択肢1:それでも継承する
選択肢2:新たに作る