Maison > Java > javaDidacticiel > Apprenez l'héritage et les fonctionnalités polymorphes des interfaces Java

Apprenez l'héritage et les fonctionnalités polymorphes des interfaces Java

王林
Libérer: 2023-12-23 13:00:57
original
666 Les gens l'ont consulté

Apprenez lhéritage et les fonctionnalités polymorphes des interfaces Java

Pour maîtriser l'héritage et les fonctionnalités polymorphes des interfaces Java, des exemples de code spécifiques sont nécessaires

Dans le langage Java, une interface est un type abstrait qui définit un ensemble de méthodes. Grâce aux interfaces, une série de méthodes peuvent être définies et implémentées dans différentes classes. En plus d'être implémentées par des classes, les interfaces peuvent également hériter d'autres interfaces. Les classes qui implémentent des interfaces peuvent hériter d'interfaces via des fonctionnalités polymorphes.

Ensuite, nous illustrerons les fonctionnalités d'héritage et de polymorphisme des interfaces Java à travers des exemples de code spécifiques.

Tout d'abord, nous définissons une interface de base Animal, comprenant une méthode abstraite sound() :

public interface Animal {
    void sound();
}
Copier après la connexion

Ensuite, nous définissons deux sous-interfaces héritées de l'interface Animal, à savoir Dog et Cat, qui définissent respectivement leurs propres abstractions exécutées. () et meow() :

public interface Dog extends Animal {
    void run();
}

public interface Cat extends Animal {
    void meow();
}
Copier après la connexion

Ensuite, nous définissons deux classes concrètes qui implémentent les interfaces Dog et Cat, à savoir GoldenRetriever et PersianCat :

public class GoldenRetriever implements Dog {
    @Override
    public void sound() {
        System.out.println("汪汪汪!");
    }

    @Override
    public void run() {
        System.out.println("狗狗在奔跑!");
    }
}

public class PersianCat implements Cat {
    @Override
    public void sound() {
        System.out.println("喵喵喵!");
    }

    @Override
    public void meow() {
        System.out.println("猫猫在喵喵叫!");
    }
}
Copier après la connexion

Maintenant, nous pouvons profiter des fonctionnalités polymorphes via la référence Animal type A pour un objet d'une classe concrète qui implémente l'interface Animal, mais ne peut accéder qu'aux méthodes définies dans l'interface Animal. Par exemple :

public class Main {
    public static void main(String[] args) {
        Animal dog = new GoldenRetriever();
        Animal cat = new PersianCat();

        dog.sound();    // 输出汪汪汪!
        cat.sound();    // 输出喵喵喵!
    }
}
Copier après la connexion

Comme le montre l'exemple de code, en pointant le chien de référence de type Dog vers l'objet GoldenRetriever, et en pointant le chat de référence de type Cat vers l'objet RussianCat, nous pouvons appeler la méthode sound() correspondante via ces deux références. , et Les aboiements des chiens et les miaulements des chats sont respectivement émis.

Pour résumer, grâce à l'héritage et aux fonctionnalités polymorphes des interfaces, nous pouvons définir un ensemble de méthodes et implémenter ces méthodes à travers des classes qui implémentent l'interface. En utilisant la fonctionnalité polymorphe, nous pouvons faire référence à l'objet de la classe spécifique qui implémente l'interface via la référence du type d'interface et appeler les méthodes définies dans l'interface. Cette flexibilité et cette extensibilité sont des caractéristiques importantes des interfaces Java et sont cruciales pour améliorer la réutilisabilité et la maintenabilité du code.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal