Implémentation du polymorphisme en Java
Qu'est-ce que le polymorphisme
Les trois caractéristiques majeures de l'orienté objet : encapsulation, héritage, polymorphisme. D'un certain point de vue, l'encapsulation et l'héritage sont presque toujours préparés au polymorphisme. C'est notre dernier concept et le point de connaissance le plus important.
Définition du polymorphisme : fait référence au fait de permettre à des objets de types différents de répondre au même message. Autrement dit, le même message peut se comporter de différentes manières selon la personne à qui il est envoyé. (L'envoi d'un message est un appel de fonction)
La technologie permettant d'obtenir le polymorphisme est appelée : liaison dynamique, qui fait référence à la détermination du type réel de l'objet référencé lors de l'exécution. appeler sa méthode correspondante en fonction de son type réel.
Le rôle du polymorphisme : Éliminer la relation de couplage entre les types.
En réalité, il existe d'innombrables exemples de polymorphisme. Par exemple, si vous appuyez sur la touche F1, le document d'aide AS 3 apparaîtra sous l'interface Flash ; l'aide Word apparaîtra sous Word et l'aide et le support Windows apparaîtront sous Windows. Le même événement se produisant sur différents objets produira des résultats différents.
Voici les trois conditions nécessaires à l'existence du polymorphisme. Chacun est tenu de le réciter en rêvant !
Trois conditions nécessaires à l'existence du polymorphisme
1. Il doit y avoir un héritage
2 Il doit y avoir une substitution
3.
Avantages du polymorphisme :
1. Le polymorphisme permet le remplacement du code existant. Par exemple, le polymorphisme fonctionne pour la classe Circle, mais il fonctionne également pour toute autre géométrie circulaire, comme un tore.
2. Extensibilité. Le polymorphisme rend le code extensible. L'ajout de nouvelles sous-classes n'affecte pas le polymorphisme, l'héritage et le fonctionnement des autres fonctionnalités des classes existantes. En fait, il est plus simple d’ajouter de nouvelles sous-classes pour obtenir des fonctions polymorphes. Par exemple, après avoir réalisé le polymorphisme des cônes, demi-cônes et hémisphères, il est facile d’ajouter le polymorphisme de classe sphère.
3. Capacité d'interface. Le polymorphisme est obtenu par la superclasse fournissant une interface commune aux sous-classes via des signatures de méthodes, et par les sous-classes la complétant ou la remplaçant. Comme le montre la figure 8.3. La super classe Shape dans la figure spécifie deux méthodes d'interface qui implémentent le polymorphisme, calculateArea() et calculateVolume(). Les sous-classes, telles que Circle et Sphere, améliorent ou remplacent ces deux méthodes d'interface afin d'obtenir le polymorphisme.
4. Flexibilité. Il incarne des opérations flexibles et diversifiées dans les applications et améliore l'efficacité de l'utilisation.
5. Simplicité. Le polymorphisme simplifie le processus d'écriture et de modification du code des logiciels d'application. Cette fonctionnalité est particulièrement importante et importante lorsqu'il s'agit de calculs et d'opérations sur un grand nombre d'objets.
La méthode d'implémentation du polymorphisme en Java : implémentation d'interface, héritage de la classe parent pour la réécriture de méthode et surcharge de méthode dans la même classe.
Une petite question :
(1) Catégories associées
class A ...{ public String show(D obj)...{ return ("A and D"); } public String show(A obj)...{ return ("A and A"); } } class B extends A...{ public String show(B obj)...{ return ("B and B"); } public String show(A obj)...{ return ("B and A"); } } class C extends B...{} class D extends B...{}
(2) Question : Quel est le résultat de sortie suivant ?
A a1 = new A(); A a2 = new B(); B b = new B(); C c = new C(); D d = new D(); System.out.println(a1.show(b)); ① System.out.println(a1.show(c)); ② System.out.println(a1.show(d)); ③ System.out.println(a2.show(b)); ④ System.out.println(a2.show(c)); ⑤ System.out.println(a2.show(d)); ⑥ System.out.println(b.show(b)); ⑦ System.out.println(b.show(c)); ⑧ System.out.println(b.show(d)); ⑨
(3) Réponse
① A and A ② A and A ③ A and D ④ B and A ⑤ B and A ⑥ A and D ⑦ B and B ⑧ B and B ⑨ A and D
Attention aux étudiants qui apprennent Java ! ! !
Si vous rencontrez des problèmes pendant le processus d'apprentissage ou si vous souhaitez obtenir des ressources d'apprentissage, vous êtes invités à rejoindre le groupe d'échange d'apprentissage Java : 159610322 Apprenons Java ensemble !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!