「哺乳類にはさまざまな種類の鳴き声がある」ことは誰もが知っています。たとえば、「咆哮」、「咆哮」、「ワンワン」、「ニャー」などです。これらは音の多態です。
したがって、クラスに多くのサブクラスがあり、これらのサブクラスがすべて親クラスのメソッドをオーバーライドする場合、サブクラスによって作成されたオブジェクトの参照を親クラスのオブジェクトに入れると、オブジェクトのアップキャスト オブジェクトが得られます。現時点では、親クラスのメソッドをオーバーライドするときに異なるサブクラスが異なる動作を生成する可能性があるため、このメソッドを呼び出すときにアップキャスト オブジェクトにポリモーフィズムが発生する可能性があります。
たとえば、dog クラスのアップ変換されたオブジェクトが「bark」メソッドを呼び出すと、生成される動作は「woof」ですが、cat クラスのアップ変換されたオブジェクトが「bark」メソッドを呼び出すと、生成される動作は次のようになります。 「ニャー」など。
ポリモーフィズムとは、親クラスのメソッドがそのサブクラスによってオーバーライドされると、それぞれが独自の機能的な動作を生成できることを意味します。
例えば:
クラス動物 {voidcry(){}} クラス犬は動物を拡張します {voidcry(){System.out.println(wangwang);}} クラス猫は動物を拡張します {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=新しい犬();animal.cry();animal=新しい猫();animal.cry();}}
実行結果は次のとおりです。
王王廟妙