web-dev-qa-db-ja.com

ある抽象クラスが別の抽象クラスを拡張し、機能を向上させることができます

抽象クラスがあります。抽象クラスを別の抽象クラスで拡張し、拡張された抽象クラスを実装します。可能ですか?「はい」の場合、OOPSの観点から見た場合の良いアプローチかどうか

26
Saurabh Kumar

特にJavaについてはわかりませんが、有効なはずです。

OOPの観点から、それが理にかなっている場合は、それで実行します。いくつかの古い例を使用するには、Vehicle抽象クラスを使用してから、LandVehicleおよびFlyingVehicle抽象クラスを使用します。あなたの例が抽象クラスとして理にかなっている限り、問題ないはずです。

28

はい、可能です。必要な場合は使用しない理由はありません(免責事項:ただし、通常のプログラミングのすべてと同様に、これを誤用したり、物事を複雑化したりする多くの方法があります)。

注目すべき点は、2番目の抽象クラスは最初のクラスの抽象メソッドを実装する必要はありませんが、最初の具象クラスは両方を実装する必要があることです。

13
Denis Biondic

はい、できます! 1つの抽象クラスを別の抽象クラスで拡張できます

4
Feng Zheng

はい!

しかし、抽象サブクラスがより多くの機能を追加する場合(抽象であるかどうか)にのみ意味があります。

それ以外の場合、私はポイントを見ません。

2
Petar Ivanov

はい、できます。また、子クラスに機能を追加することをお勧めします。仕様に向かって進むことができます。親クラスはより一般的なクラスになり、子クラスはより具体的なクラスになります。また、要件に応じて両方を実装できます。

0
Sumit