継承
#執筆者募集中
「継承よりコンポジション」という格言もあるように、昨今では人気がない。
hr.icon
時折インターネットで論争を引き起こすテーマのひとつ koma.icon
GoFのデザインパターン(『オブジェクト指向における再利用のためのデザインパターン』)は継承を使ったパターンが多く載っているが、現代でも頻繁に使われる継承を使ったデザインパターンというのはTemplate Method パターンくらいじゃないかという話を和田卓人がfukabori.fm ep.49 でしていた。koma.icon
とはいえ、同じエピソードで、GoF本のポイントは「オブジェクト指向プログラミング=継承による差分プログラミング」という誤解を払拭して、コンポジションなどを使って「インタフェースに対してプログラミングする」ということを示したことにあるとも言われている。koma.icon
差分プログラミングをやるために継承を使う場合、サブクラスはスーパークラスの実装に依存してしまうが、コンポジションにすれば依存するのはインタフェースに限定できる。