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

DDD
リリース: 2024-09-18 22:53:53
オリジナル
630 人が閲覧しました

メソッドオーバーレイ:

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

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

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

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

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

仕組み:

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

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

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

重要性:

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

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

Métodos sobrepostos dão suporte ao polimorfismo

Métodos sobrepostos dão suporte ao polimorfismo

プログラム構造:

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

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

main() での実行:

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

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

動作:

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

プログラム出力:

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

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

以上が重複するメソッドはポリモーフィズムをサポートしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!