抽象クラスについて質問があります。

クラス1
属性:A,B,C
操作:D

クラス2
属性:A,C
操作:D

クラス3
属性:A,B
操作:D

クラス1がデータを取得するとき、属性:Bの有無で
クラス2 or クラス3を用いる方式を考えています。
こういう場合、属性Aと操作Dを抽象クラスにしたほうが
よいのでしょうか?