「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > 重複するメソッドはポリモーフィズムをサポートします

重複するメソッドはポリモーフィズムをサポートします

2024 年 11 月 7 日に公開
ブラウズ:299

メソッドオーバーライド:

  • これは単なる名前の問題ではなく、Java の基本的な機能です。

  • 動的メソッドディスパッチの概念に基づいています。

動的メソッドディスパッチ:

  • 重複するメソッドの呼び出しがコンパイル時ではなく実行時に解決されるメカニズムです。

  • Java でのポリモーフィズムの実装を許可します。

仕組み:

  • スーパークラス参照変数はサブクラス オブジェクトを参照できます。

  • オーバーライドされたメソッドがスーパークラス参照を通じて呼び出される場合、実行されるメソッドのバージョンは呼び出し時のオブジェクトの型に基づいて決定されます。

  • したがって、実行するメソッドの選択は実行時に行われます。

重要性:

  • 参照されるオブジェクトの型 (参照変数の型ではない) によって、オーバーライドされたメソッドのどのバージョンが実行されるかが決まります。

  • これにより、スーパークラス参照変数によって参照されるさまざまなタイプのオブジェクトが、オーバーライドされたメソッドのさまざまなバージョンを呼び出すことができます。

Métodos sobrepostos dão suporte ao polimorfismo

Métodos sobrepostos dão suporte ao polimorfismo

プログラム構造:

  • スーパークラス: 補足、who() メソッドを使用します。

  • サブクラス: Sub1 と Sub2、両方とも who() メソッドをオーバーライドします。

main() での実行:

  • オブジェクト superOb (タイプ Sup)、subOb1 (タイプ Sub1)、および subOb2 (タイプ Sub2) の作成。

  • Sup 型の supRef 参照変数は、さまざまなオブジェクトを参照するために使用されます。

行動:

  • supRef.who() の呼び出しでは、参照変数 supRef の型ではなく、呼び出し時に参照されるオブジェクトの型に基づいて、実行されるメソッドのバージョンが決定されます。

プログラム出力:

  • 参照されるオブジェクトのタイプ (superOb、subOb1、または subOb2) に応じて、対応するバージョンの who() メソッドが呼び出され、表示されます。

  • これは動的ディスパッチの概念を示しており、実行されるメソッドは実行時に決定され、ポリモーフィズムの実装が可能になります。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/devsjavagirls/metodos-sobrepostos-dao-suporte-ao-polimorfismo-457j?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3