Open1

OOP:継承に関する調査

j5ik2oj5ik2o

Javaルールブック
「3.1 継承 3.1.1 継承の前に委譲を検討する」

同じ処理が複数のクラスで出てきた際に、安易に継承しようと考えていませんか?
親クラスはユーティリティメソッドや共有フィールドの置き場でありません。
役割の重複が判明した場合、まずは処理の委譲を検討しましょう。

一般に、継承関係が深くなっていくにつれ、どこで何の処理が行われているのか分からなくなり、バグの温床となります。委譲の形で実装すれば、継承が深くなるのを防ぐことができます。

また、Javaでは extends を使った継承は1つの親クラスからしかできません。そのため、本来継承関係にあるものだけをextendsを使った継承で実装するようにしましょう。