Maison> Java> javaDidacticiel> le corps du texte

Comprendre les interfaces en Java – Un guide simple

王林
Libérer: 2024-08-31 13:02:36
original
877 Les gens l'ont consulté

Understanding Interfaces in Java – A Simple Guide

Qu'est-ce qu'une interface ?

En Java, une interface est comme un contrat que vous définissez pour les classes. Lorsqu'une classe accepte une interface, elle promet de suivre les règles ou méthodes définies par cette interface. Pensez-y comme à un ensemble d’instructions auxquelles la classe doit obéir.

Pourquoi utiliser des interfaces ?

Les interfaces sont très pratiques lorsque vous souhaitez que différentes classes suivent le même ensemble de règles mais les implémentent à leur manière. Imaginez un groupe d'animaux : un oiseau vole, un poisson nage et un chien court. Si vous voulez qu'ils "bougent" tous mais à leur manière unique, vous utiliserez une interface pour définir cette action "bouger".

Créer une interface

Créons une interface simple appelée Movable :

public interface Movable { void move(); // Any class that implements Movable must define how to move }
Copier après la connexion

Cette interface n'a qu'une seule méthode, move(). Toute classe qui accepte cette interface doit avoir une méthode move().

Implémentation d'une interface

Créons quelques classes qui implémentent l'interface Movable :

public class Bird implements Movable { public void move() { System.out.println("The bird flies."); } } public class Fish implements Movable { public void move() { System.out.println("The fish swims."); } }
Copier après la connexion

Ici, la classe Bird et la classe Fish acceptent toutes deux l'interface Movable, mais elles ont chacune leur propre façon de se déplacer.

Interfaces multiples

Ce qui est intéressant à propos des interfaces, c'est qu'une classe peut en implémenter plusieurs. Disons que nous avons aussi une interface Soundable :

public interface Soundable { void makeSound(); }
Copier après la connexion

Une classe Dog peut implémenter à la fois Movable et Soundable :

public class Dog implements Movable, Soundable { public void move() { System.out.println("The dog runs."); } public void makeSound() { System.out.println("The dog barks."); } }
Copier après la connexion

Cela signifie que notre chien peut à la fois bouger et émettre un son !

Interface vs classe abstraite

  • Héritage multiple :Une classe peut implémenter plusieurs interfaces, mais elle ne peut étendre qu'une seule classe abstraite.
  • Méthodes :Les interfaces ne peuvent avoir que des méthodes abstraites (dans les anciennes versions de Java), tandis que les classes abstraites peuvent avoir à la fois des méthodes abstraites et régulières.
  • Variables :Les interfaces peuvent avoir des constantes (variables finales statiques), mais elles ne peuvent pas avoir de variables d'instance.

Défi : essayez-le vous-même !

  1. Créez une interface appelée Playable avec une méthode play().
  2. Créez deux classes, Guitare et Piano, qui implémentent Playable.
  3. Écrivez du code pour créer des objets de ces classes et appelez la méthode play().

Conclusion

Les interfaces en Java sont un moyen puissant d'appliquer des règles dans différentes classes tout en permettant à chaque classe d'implémenter ces règles à sa manière. Ils favorisent la flexibilité et la cohérence de votre code, le rendant plus facile à gérer et à étendre.

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:dev.to
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 téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!