Inheritance
先祖や親戚から受け継いだものに頼り切って、 自分では最低限のことしかしないこと。
http://www.ruby-lang.org/ja/man/html/Ruby_...
下記は過去記事
抽象的なものを親として定義し、
それ継承して具体的に定義する。これを子と呼ぶ。
置き換えが効くものしか継承してはいけない。
○果物は食べ物だ→りんごは食べ物だ
抽象的な親:果物
具体的な子:りんご
×りんごジュースは飲み物だ→りんごは飲み物だ
抽象的な親:りんごジュース
具体的な子:りんご
→とはならない
重要ポイント
「りんごは飲み物ではない」という
普遍的真理があるのであれば
実装しやすいのだが、
「りんごは飲み物であるかもしれない」
という事実を考慮しなくてはならない場合、
設計が必要となる。
選択肢1:それでも継承する
選択肢2:新たに作る