サブタイプ階層に同じ「レベル」のクラスがいくつかあります。インスタンスごとにIDを作成する必要があります。通常、これを行うには、静的なlongを含む親クラスを作成し、サブクラスのインスタンスごとにIDをインクリメントします。
サブタイプのコードの75%は同じです-これにより、次のように(インターフェイスを介して)抽象クラスを使用することを好みました。
1)ID作成者の静的変数を宣言できます
2)コードを親クラスに入れて、サブタイプ間で共有できます
これは正しいです?私はめったにインターフェースを使わないようです。サブタイプが同じメソッドを必要とするが、実装が異なる場合、およびサブタイプ間で共有される属性を初期化する必要がない場合(ID作成者など)にのみインターフェイスを使用する必要がありますか?
私はいつも同僚から、継承よりもインターフェースが好まれるという印象を与えられていました。