継承の履歴

Inheritance

先祖や親戚から受け継いだものに頼り切って、 自分では最低限のことしかしないこと。

http://www.ruby-lang.org/ja/man/html/Ruby_CDD1B8ECBDB8.html

下記は過去記事

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

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

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

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

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

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

重要ポイント


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

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