抽象クラスは、抽象メソッドと非抽象メソッドの両方を持つことができます。抽象クラスの新しいオブジェクトを作成できない場合、抽象クラスに非抽象メソッドを持つことのポイントは何ですか?
子クラスの非抽象メソッドをオーバーライドして、子クラスのオブジェクトを介して使用できることを知っています。しかし、それを行っている場合、そもそも非抽象メソッドを実装で使用する必要があるのは何ですか?
抽象クラスは、抽象メソッドと非抽象メソッドの両方を持つことができます。抽象クラスの新しいオブジェクトを作成できない場合、抽象クラスに非抽象メソッドを持つことのポイントは何ですか?
子クラスの非抽象メソッドをオーバーライドして、子クラスのオブジェクトを介して使用できることを知っています。しかし、それを行っている場合、そもそも非抽象メソッドを実装で使用する必要があるのは何ですか?
もっと考えるか、もっとググってください。
簡単な答え: 再利用と保守性。
抽象クラスを拡張する 4 つの具象クラスがあり、それらすべてがいくつかの動作を共有するとします。
この場合、すべての具象クラスでメソッドを個別に定義するよりも、抽象クラスでメソッドを実装することをお勧めします。
具象サブクラスは、抽象スーパークラスのメソッドを使用できます。したがって、サブクラス間で共有されるすべての機能は、基本抽象クラスに入ることができます。
コードの再利用。継承クラスで非抽象メソッドをオーバーライドしない場合は、抽象クラスから継承します。
代わりにそれらをサブクラスに含めることは、DRY の原則に違反します (繰り返さないでください)。すべてのサブクラスが同じ機能を持っている場合、すべてのクラスで繰り返し記述する必要はありません。