Wir alle wissen, dass „Säugetiere viele Arten von Geräuschen haben“, wie zum Beispiel: „brüllen“, „heulen“, „wuff“, „miauen“ usw. Dies sind die Polymorphismen von Geräuschen.
Wenn eine Klasse also viele Unterklassen hat und diese Unterklassen alle eine Methode in der übergeordneten Klasse überschreiben, erhalten wir, wenn wir die Referenz des von der Unterklasse erstellten Objekts in ein Objekt der übergeordneten Klasse einfügen, ein Upcast-Objekt des Objekts. Zu diesem Zeitpunkt weist das Upcast-Objekt beim Aufrufen dieser Methode möglicherweise Polymorphismus auf, da verschiedene Unterklassen beim Überschreiben der Methoden der übergeordneten Klasse möglicherweise unterschiedliche Verhaltensweisen hervorrufen.
Beispiel: Wenn das hochtransformierte Objekt der Klasse „Hund“ die Methode „Bark“ aufruft, ist das erzeugte Verhalten „wuff“, während das erzeugte Verhalten „Wuff“ ist, wenn das hochtransformierte Objekt der Klasse „Cat“ die Methode „Bark“ aufruft „Miau“ und so weiter.
Polymorphismus bedeutet, dass, wenn eine Methode der übergeordneten Klasse von ihrer Unterklasse überschrieben wird, jede Methode ihr eigenes funktionales Verhalten erzeugen kann.
Zum Beispiel:
Klasse Tier {voidcry(){}} Klasse Hund erweitert Tier {voidcry(){System.out.println(wangwang);}} Klasse Katze erweitert Tier {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=new dog();animal.cry();animal=new cat();animal.cry();}}
Die Laufergebnisse sind wie folgt:
wangwangmiaomiao