Nous savons tous que « les mammifères ont de nombreuses sortes de sons », tels que : « rugissement », « hurlement », « ouaf », « miaou », etc. Ce sont les polymorphismes des sons.
Ainsi, lorsqu'une classe a plusieurs sous-classes et que ces sous-classes remplacent toutes une méthode dans la classe parent, lorsque nous mettons la référence de l'objet créé par la sous-classe dans un objet de la classe parent, nous obtenons l'objet Upcast de l'objet. À ce stade, l'objet upcast peut présenter un polymorphisme lors de l'appel de cette méthode, car différentes sous-classes peuvent produire des comportements différents lors du remplacement des méthodes de la classe parent.
Par exemple : lorsque l'objet transformé de la classe dog appelle la méthode "bark", le comportement généré est "woof", tandis que lorsque l'objet transformé de la classe cat appelle la méthode "bark", le comportement produit est "miaou" et ainsi de suite.
Le polymorphisme signifie que lorsqu'une méthode de la classe parent est remplacée par sa sous-classe, chacune peut produire son propre comportement fonctionnel.
Par exemple:
classe animal {voidcry(){}} classe chien étend animal {voidcry(){System.out.println(wangwang);}} classe chat étend animal {voidcry(){System.out.println(miaomiao);}} publicclassMain {publicstaticvoidmain(Stringargs[]){animal;animal=new dog();animal.cry();animal=new cat();animal.cry();}}
Les résultats en cours d'exécution sont les suivants :
wangwangmiaomiao