Cet article décrit le polymorphisme de la programmation orientée objet en Java. Partagez-le pour votre référence, comme suit:
Polymorphisme: fonctionnalités qui ont la capacité d'exprimer plusieurs formes (la même interface d'implémentation utilise différentes instances pour effectuer des opérations différentes)
Avantages de la mise en œuvre du polymorphisme: afin de faciliter les appels unifiés!
Trois façons d'atteindre le polymorphisme!
1. Conversion de la sous-classe en classe parent:
exemple:
Chien chien = nouveau chien ("euo", "schnauzer"); dog.eat (); Pet Pet = nouveau chien ("euoo", "schnauzer"); // conversion de la sous-classe à la classe parent pet.eat (); pet.catchingflydisc (); // erreur de compilation, référence de la classe parentale ne peut pas appeler la méthode spéciale de la sous-clairerègle:
① Pointer une référence à une classe d'enfants vers un objet appelé transformation ascendante et effectuer automatiquement la conversion de type.
② La méthode appelée par des variables de référence via la classe parent est la classe infantile qui suit ou héritant de la méthode de la classe parent, et non la méthode de la classe parent.
③ Pour le moment, la méthode unique à la sous-classe ne peut pas être appelée en faisant référence aux variables via la classe parent!
2. Utilisez la classe parent comme paramètres formels de méthode pour implémenter le polymorphisme
classe publique Master {private String name = ""; private int Money = 0; public Master (String Name, int Money) {this.name = name; this.money = argent; } public void feed (Pet Pet) {pet.eat (); } Public Void Feed (chien chien) {dog.eat (); } public void feed (Penguin Pen) {Pen.Eat (); }} public class test () {public static void main (String [] args) {maître maître = new Master ("Mr. Wang", 100); Pet Pet = nouveau chien ("Euro", "Schnauzer"); maître.feed (animal de compagnie); }}3. Utilisez la classe parent comme valeur de retour de méthode pour atteindre le polymorphisme
classe publique Master {private String name = ""; private int Money = 0; public Pet Getpet (int id) {Pet Pet = null; if (id == 1) {pet = nouveau chien ("Europe", "schnauzer")} else if (id == 2) {pet = new Penguin ("nana", "empereur pingouin"); } return animal; }}Avis:
① L'existence de l'héritage (l'héritage est la base du polymorphisme, sans héritage, il n'y a pas de polymorphisme)
② Méthodes de réécriture de la sous-classe de la classe parentale
③ Classe parent références aux variables aux objets sous-classe
Pour plus de contenu lié à Java, les lecteurs qui sont intéressés par ce site peuvent afficher les sujets: "Introduction et tutoriel avancé sur la programmation Java Oriented Oriented", "Tutorial sur la structure de données Java et l'algorithme", "Résumé des compétences de l'opération Java Dom Dom", "Résumé des compétences de l'opération Java et de l'opération de répertoire" et "Résumé de Java Cache Skills"
J'espère que cet article sera utile à la programmation Java de tous.