Javaで抽象クラスが必要なのはなぜですか? それをオブジェクトにするつもりがないのなら、そもそもなぜそれを持っているのですか? どうやって使うんですか?なぜそこにあるのですか?抽象メソッドでも同じことを考えています。作成することが重要なサブクラスを持たないスーパークラスを持つことと同様の概念のように思えます。
51038 次
3 に答える
18
抽象クラスを使用すると、クラス内のメソッドのデフォルト実装の部分セットを提供できます。それらは不完全であるため、インスタンス化してそのまま使用することはできませんが、特定の実装に固有の方法で欠落している詳細を追加するためにサブクラス化することができ、それらのサブクラスをインスタンス化することができます。
抽象クラスがなければ、オーバーライドするメソッドのダミーの実装を提供する必要があります...これは可能ですが、そのうちの1つを実装するのを忘れるリスクがあります。一部のメソッドを完全に抽象化したままにしておくと、実際の実装でギャップを埋めるか、それ自体を抽象化し続けて子孫にそうするように強制する必要があります。
それは、言語がなくては生きていけないものではありません。しかし、それは非常に便利です。Java と OO の設計に習熟するにつれて、いかに役立つかがわかります。
(基本的に、前回この質問をしたときに同じことを言ったことに注意してください。したがって、まだ混乱している場合は、何が混乱しているのかをより具体的にしたい場合があります。)
于 2014-02-28T04:13:33.970 に答える