継承
継承の問題点: 全て包含と委譲で解決できる.
派生クラスが基底クラスの機能を持つ.これは単一責任原則に反する.
基底クラスの修正が派生クラスに影響する.これはオープンクローズド原則に反する.
派生クラスのテストが困難になる.基底クラスをモックにできないため.
基底クラスがpublicメソッドを持つたびに,派生クラスが必要のないpublicメソッドを獲得する.
派生クラスの意図とは異なる利用を促す.