Maison > Java > javaDidacticiel > Comment fonctionne le polymorphisme en Java grâce à l'héritage et au remplacement de méthodes ?

Comment fonctionne le polymorphisme en Java grâce à l'héritage et au remplacement de méthodes ?

Barbara Streisand
Libérer: 2024-12-18 21:23:11
original
877 Les gens l'ont consulté

How Does Polymorphism Work in Java Through Inheritance and Method Overriding?

Polymorphisme, remplacement et surcharge en Java

Définition du polymorphisme

Lorsque l'on discute du polymorphisme dans Java, ni la surcharge ni la substitution, n'encapsulent pleinement son essence. Le polymorphisme est mieux compris à travers des classes de base abstraites ou des interfaces.

Classes de base abstraites et polymorphisme

Considérons une classe de base abstraite Human avec une méthode abstraite goPee(), définissant un concept qui n'est pas entièrement réalisable pour les humains tant qu'il n'est pas instancié dans ses sous-classes, telles que Male et Femelle.

public abstract class Human {
    ...
    public abstract void goPee();
}
Copier après la connexion

Remplacement dans les sous-classes

Les sous-classes comme Male et Female implémentent la méthode goPee() en fonction de leurs caractéristiques spécifiques :

public class Male extends Human {
    ...
    @Override // Annotation indicating override
    public void goPee() {
        System.out.println("Stand Up");
    }
}
Copier après la connexion
public class Female extends Human {
    ...
    @Override // Annotation indicating override
    public void goPee() {
        System.out.println("Sit Down");
    }
}
Copier après la connexion

Comportement polymorphe

Avec ça configuration, un tableau d’objets Humains peut contenir à la fois des instances masculines et féminines. Lors de l'appel de goPee() sur tous les humains, la méthode surchargée spécifique à chaque sous-classe est exécutée, mettant en valeur un comportement polymorphe :

public static void main(String[] args) {
    ArrayList<Human> group = new ArrayList<>();
    group.add(new Male());
    group.add(new Female());

    // Polymorphism: Execute overridden goPee() in each subclass
    for (Human person : group) person.goPee();
}
Copier après la connexion

Conclusion

Le polymorphisme se manifeste à travers la capacité d'objets de classes différentes pour répondre différemment au même appel de méthode. Il exploite l'héritage et le remplacement de méthode pour obtenir cette flexibilité.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal