如题,最近看java基础时,看到了关于继承的重写和重载部分,方法的重载可以实现代码的多态,但是重写我就不是很理解为什么要这么写,希望有心人帮忙解释下。小白这里先谢过了。
光阴似箭催人老,日月如移越少年。
書き直せばコードの多様性も実現できます。
サブクラスが親クラスを継承した後は、親クラスのメソッドを書き直す必要がないため、コード量が節約されます。
使用条件が変わり、親クラスのメソッドが使用条件を満たせなくなった場合は、メソッドを書き換えて親クラスのメソッドを上書きする必要があります。
書き換えは Java の多くのパターンで機能します。
あなたは間違って理解しています。書き換えはポリモーフィズムを達成するための鍵です。オーバーロードは、いくつかのパラメーターを追加し、メソッド名を再利用するだけです。なぜ書き換えがポリモーフィズムを実現する鍵となるかというと、オブジェクト指向はインターフェース指向プログラミング、つまり抽象化指向プログラミングを奨励するからです。例:
フルーツの親クラスには printName メソッドがあります:
リンゴとオレンジはどちらも Fruit のサブクラスにすることができますが、実装中に printName メソッドをオーバーライドして、異なる名前の出力を実現できます。
継承の利点の 1 つは、コードの量を減らすことです。すべてのクラスで同じステートメントを記述する必要はありません。直接継承は、父親と息子の関係のようなものです。父親ですが、息子も自分で成長することができます。
親クラスのメソッドを書き換えて、テンプレートを使用して特別なクラスを定義します。これらはすべて、外側では同じに見えますが、内部では異なります。これがインターフェイス指向プログラミングの利点です。
書き直せばコードの多様性も実現できます。
サブクラスが親クラスを継承した後は、親クラスのメソッドを書き直す必要がないため、コード量が節約されます。
使用条件が変わり、親クラスのメソッドが使用条件を満たせなくなった場合は、メソッドを書き換えて親クラスのメソッドを上書きする必要があります。
書き換えは Java の多くのパターンで機能します。
あなたは間違って理解しています。書き換えはポリモーフィズムを達成するための鍵です。オーバーロードは、いくつかのパラメーターを追加し、メソッド名を再利用するだけです。なぜ書き換えがポリモーフィズムを実現する鍵となるかというと、オブジェクト指向はインターフェース指向プログラミング、つまり抽象化指向プログラミングを奨励するからです。例:
フルーツの親クラスには printName メソッドがあります:
リーリーリンゴとオレンジはどちらも Fruit のサブクラスにすることができますが、実装中に printName メソッドをオーバーライドして、異なる名前の出力を実現できます。
継承の利点の 1 つは、コードの量を減らすことです。すべてのクラスで同じステートメントを記述する必要はありません。直接継承は、父親と息子の関係のようなものです。父親ですが、息子も自分で成長することができます。
親クラスのメソッドを書き換えて、テンプレートを使用して特別なクラスを定義します。これらはすべて、外側では同じに見えますが、内部では異なります。これがインターフェイス指向プログラミングの利点です。