php エディタ Zimo は、親クラスとサブクラスのオーバーロードされたメソッドを呼び出す Java プログラミングのベスト プラクティスを提供します。 Java では、継承はオブジェクト指向プログラミングの重要な概念であり、サブクラスが親クラスのプロパティとメソッドを継承できるようにします。メソッドのオーバーロードは、親クラスとサブクラスの両方で同じ名前のメソッドが定義されている場合に発生します。この場合、プログラムの正確性と保守性を確保するために、親クラスとサブクラスのオーバーロードされたメソッドを正しく呼び出す方法に注意を払う必要があります。この記事では、Java プログラミングにもっと慣れられるよう、親クラスとサブクラスのオーバーロードされたメソッドを呼び出すためのベスト プラクティスを詳しく紹介します。
親クラスとサブクラスの両方によってオーバーロードされているメソッドを呼び出す最良の方法は何ですか? 例えば。親子クラスがあるとしましょう
リーリー両方をオーバーロードするメソッドを作成したいです
リーリー親または子を作成し、methodcall メソッドを呼び出すメソッドを作成しました
リーリーこれは常に親メソッドを呼び出すようですが、オブジェクトを子オブジェクトに明示的にキャストせずに子メソッドを呼び出すにはどうすればよいですか?
私の意見では、スーパークラス parent
と child
に、methodcall() というメソッドを作成する必要があります。これを次のように書き換えます。 :
子
クラス
次に、次のように呼び出しますmethodcall
private class parent{ public parent() { } } private class child extends parent{ string name; public child(string name) { this.name = name; } }
メソッドのシグネチャは、その名前とパラメータ リストによって決まります。これは、methodcall(parent)
と methodcall(client)
が異なることを意味します。
あなたが望むのは過負荷ではなく、圧倒的です。コード内の child
のメソッドにアノテーション @override
を追加すると、私が何を意味するかわかります。コンパイラはエラーを出します...
クラスの定義を変更しない場合、対応するメソッドを呼び出すために child
にキャストする必要があります。ただし、methodcall() があるため、これはまったく機能しません。
は非静的です (または、child
. のメンバーとして
callmethod()
または、コードを次のように変更します:
リーリー次のように使用します:
リーリー以上が親クラスと子クラスのオーバーロードされたメソッドを呼び出すための Java ベスト プラクティスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。