Cet article décrit l'utilisation du polymorphisme en Java avec des exemples. Partagez-le avec tout le monde pour votre référence. L’analyse spécifique est la suivante :
Le polymorphisme est la caractéristique essentielle des langages de programmation orientés objet. L'encapsulation et l'héritage sont relativement simples, je ne ferai donc ici qu'une petite remarque sur le polymorphisme. . .
1. Qu'est-ce que le polymorphisme ?
Le polymorphisme signifie qu'un objet peut avoir plusieurs caractéristiques et présenter différents états dans des circonstances spécifiques pour répondre à différentes propriétés et méthodes. En Java, l'implémentation polymorphe fait référence à l'utilisation de la même interface d'implémentation pour implémenter différentes instances d'objet.
Par exemple, nous définissons une classe Parent, puis définissons une méthode getName() pour renvoyer une chaîne, définissons une méthode membre doSomething(Parent obj) dont le paramètre formel est le type Parent et appelons obj.getName() dans cette méthode. Définissez ensuite deux classes A et B, qui héritent toutes deux de la classe Parent, et remplacez la méthode getName() dans la sous-classe. Enfin, créez un objet objP de la classe Parent dans la méthode main, appelez la méthode objP.doSomething() et passez-lui les références de classe A et de classe B. Observez la sortie.
class Parent { private String name = "parent"; public String getName() { return this.name; } public void doSomething(Parent obj) { //Nom de la classe de sortie System.out.println(obj.getName() ); public static void main(String[] args) { Parent objP = new Parent(); Lors du passage d'une référence à A, la méthode getName de la classe A est appelée objP.doSomething(new B()); // Lorsqu'une référence à B est passée, la méthode getName de la classe B est appelée} } class A extends Parent { private String name = "class A"; //@Réécrire la méthode getName() public String getName() { return this.name } } class B extends Parent { private String name = "class B"; () Méthode public String getName() { renvoie ce.nom } }
On peut voir que la méthode doSomething de la classe parent appelle de manière polymorphe la méthode getName de l'objet que nous avons passé, plutôt que la méthode getName de la classe Parent elle-même.
2.Interface en Java
Une interface en Java est une déclaration d'une série de méthodes. Une interface n’a que les caractéristiques des méthodes, mais pas l’implémentation des méthodes. Ces méthodes peuvent être implémentées ailleurs via des classes spécifiques. En Java, le mot clé interface est utilisé pour déclarer une interface.
Exemples de polymorphisme utilisant des interfaces :
interface Name { // Déclarer uniquement, ne pas implémenter public String getName(); } class A Implements Name { private String name = "class A" // Implémenter la méthode getName public String getName() { return name } } class B; implémente Name { private String name = "class B"; // Implémente la méthode getName public String getName() { return name } public static void main(String[] args) { Name obj = new A(); System.out.println(obj.getName());
Comme vous pouvez le voir, le nom de la classe A, classe A, est imprimé.
PS : Si une classe n'implémente pas toutes les méthodes de l'interface, alors la classe doit être déclarée abstraite. Une classe abstraite ne permet pas l'instanciation d'objets.
J'espère que cet article sera utile à la programmation Java de chacun.