Interface dans Java avec exemple

โšก Rรฉsumรฉ intelligent

Interface dans Java est un abdostractype t qui spรฉcifie le comportement qu'une classe doit implรฉmenter, contenant des constantes et des valeurs absoluestracCette ressource explique ce qu'est une interface, pourquoi elle est nรฉcessaire, comment la dรฉclarer et l'implรฉmenter, et en quoi les interfaces diffรจrent des classes et des mรฉthodes abscisses.tracclasses t.

  • (I.e. Dรฉfinition: Une interface spรฉcifie le comportement en utilisant des valeurs absolues.tracmรฉthodes et constantes que les classes d'implรฉmentation doivent fournir.
  • (I.e. Mot-clรฉ: Les interfaces sont dรฉclarรฉes avec le mot-clรฉ interface, et les classes utilisent implements pour les adopter.
  • ๐Ÿงฉ Hรฉritage multiple : Une classe peut implรฉmenter plusieurs interfaces, rรฉsolvant ainsi le problรจme. Javason absence d'hรฉritage multiple de classes.
  • ๏ธ Classe vs Interface : Contrairement aux classes, les interfaces ne peuvent pas รชtre instanciรฉes et ne contiennent traditionnellement que des propriรฉtรฉs publiques.tracmรฉthodes t.
  • (I.e. Quand utiliser: Utilisez une interface pour dรฉfinir un rรดle pour des classes non liรฉes, et un absolutracClasse t pour un modรจle partagรฉ.

Interface dans Java

Qu'est-ce que l'interface dans Java?

An Interface dans Java Le langage de programmation est dรฉfini comme un absolutracLe type t est utilisรฉ pour spรฉcifier le comportement d'une classe. Java l'interface contient des constantes statiques et des valeurs absoluestracmรฉthodes t. Une classe peut implรฉmenter plusieurs interfaces. Dans JavaLes interfaces sont dรฉclarรฉes ร  l'aide du mot-clรฉ `interface`. Toutes les mรฉthodes de l'interface sont implicitement publiques et absolues.tract.

Syntaxe de dรฉclaration de l'interface

Pour utiliser une interface dans votre classe, ajoutez le mot-clรฉ ยซ implements ยป aprรจs le nom de votre classe, suivi du nom de l'interface.

interface {
   // methods
}

Exemple d'implรฉmentation de l'interface

Maintenant, examinons les interfaces dans Java avec un exemple :

class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle

Cliquez ร  nouveau ici si la vidรฉo n'est pas accessible.

Cliquez ร  nouveau ici si la vidรฉo n'est pas accessible

Pourquoi une interface est-elle requise ?

Pour comprendre l'utilisation d'une interface dans Java Mieux encore, examinons un Java Exemple d'interface. La classe ยซ Media Player ยป possรจde deux sous-classes : lecteur CD et lecteur DVD. Chacune dispose de sa propre mรฉthode d'implรฉmentation d'interface pour la lecture de musique.

Pourquoi une interface est-elle requise

Une autre classe, ยซ lecteur combo ยป, hรฉrite ร  la fois des classes CD et DVD (voir image ci-dessous). Quelle mรฉthode de lecture doit-elle hรฉriter ? Cela peut engendrer de sรฉrieux problรจmes de conception, et par consรฉquent, Java ne permet pas plusieurs hรฉritage.

Pourquoi une interface est-elle requise

Prenons maintenant un autre exemple : celui d'un chien.

Supposons que vous ayez une exigence selon laquelle la classe ยซ chien ยป hรฉrite des classes ยซ animal ยป et ยซ animal de compagnie ยป (voir image ci-dessous). Mais vous ne pouvez pas รฉtendre deux classes dans JavaAlors, que feriez-vous ? La solution est une interface.

Pourquoi une interface est-elle requise

Le rรจglement relatif ร  une interface stipule :

  • A Java L'interface est 100% ABStracclasse t et n'a que Abdostracmรฉthodes t.
  • Une classe peut implรฉmenter un nombre quelconque d'interfaces.

La classe Dog peut รฉtendre la classe ยซ Animal ยป et implรฉmenter l'interface ยซ Pet ยป.

Pourquoi une interface est-elle requise

Java Exemple d'interface

Comprenons le programme d'interface ci-dessous. Java:

ร‰tape 1) Copiez le code suivant dans un รฉditeur.

interface Pet {
  public void test();
}
class Dog implements Pet {
   public void test() {
     System.out.println("Interface Method Implemented");
  }
   public static void main(String args[]) {
     Pet p = new Dog();
     p.test();
  }
}

ร‰tape 2) Enregistrez, compilez et exรฉcutez le code. Observez le rรฉsultat de l'interface dans le Java programme.

Diffรฉrence entre classe et interface

Classe Interface
Dans une classe, vous pouvez instancier des variables et crรฉer un objet. Dans une interface, il est impossible d'instancier des variables ou de crรฉer un objet.
Une classe peut contenir des mรฉthodes concrรจtes (avec implรฉmentation). Une interface ne peut pas contenir de mรฉthodes concrรจtes (avec implรฉmentation).
Les spรฉcificateurs d'accรจs utilisรฉs avec les classes sont : private, protected et public. Dans une interface, un seul spรฉcificateur est utilisรฉ : public.

Quand utiliser Interface et AbstracClasse T ?

  • Utilisez un abdominaltracclasse t lorsqu'un modรจle doit รชtre dรฉfini pour un groupe de sous-classes.
  • Utilisez une interface lorsqu'un rรดle doit รชtre dรฉfini pour d'autres classes, indรฉpendamment de l'arbre d'hรฉritage de ces classes.

Doit connaรฎtre des faits sur l'interface

  • A Java la classe peut implรฉmenter plusieurs Java interfaces. Il est nรฉcessaire que la classe implรฉmente toutes les mรฉthodes dรฉclarรฉes dans les interfaces.
  • Une classe devrait remplacer toutes les valeurs absolues.tracles mรฉthodes dรฉclarรฉes dans l'interface.
  • L'interface permet d'envoyer un message ร  un objet sans se soucier de la classe ร  laquelle il appartient.
  • Une classe doit fournir des fonctionnalitรฉs pour les mรฉthodes dรฉclarรฉes dans l'interface.
  • Toutes les mรฉthodes d'une interface sont implicitement publiques et absoluestract.
  • Il est impossible d'instancier une interface.
  • Une rรฉfรฉrence d'interface peut pointer vers des objets de ses classes d'implรฉmentation.
  • Une interface peut hรฉriter d'une ou plusieurs interfaces. Une classe ne peut hรฉriter que d'une seule classe, mais implรฉmenter un nombre quelconque d'interfaces.
  • Une interface ne peut pas implรฉmenter une autre interface. Elle doit รฉtendre une autre interface si nรฉcessaire.
  • Une interface dรฉclarรฉe ร  l'intรฉrieur d'une autre interface est appelรฉe interface imbriquรฉe.
  • Lors de sa dรฉclaration, une variable d'interface doit รชtre initialisรฉe. Dans le cas contraire, le compilateur gรฉnรฉrera une erreur.
  • Une classe ne peut pas implรฉmenter deux interfaces. Java qui possรจdent des mรฉthodes portant le mรชme nom mais un type de retour diffรฉrent.

FAQ

Oui. Les assistants IA peuvent crรฉer des interfaces et des classes d'implรฉmentation ร  partir d'une description en langage clair, y compris des รฉbauches de mรฉthodes. Les dรฉveloppeurs doivent nรฉanmoins vรฉrifier les signatures des mรฉthodes, les types de retour et le comportement avant d'utiliser le code.

Les outils d'IA analysent les interfaces pour suggรฉrer des implรฉmentations, dรฉtecter les mรฉthodes manquantes et recommander des solutions plus propres.tractions lors de la refactorisation. Cela accรฉlรจre le dรฉveloppement tout en conservantping Le code source est faiblement couplรฉ et plus facile ร  maintenir.

Oui. Depuis Java 8. Les interfaces peuvent inclure des mรฉthodes par dรฉfaut et statiques qui possรจdent des implรฉmentations, en plus des mรฉthodes absolues.tracLes mรฉthodes t permettent aux interfaces d'รฉvoluer sans perturber les classes d'implรฉmentation existantes.

Une interface marqueur ne contient aucune mรฉthode. Elle transmet des mรฉtadonnรฉes ร  la JVM ou au compilateur afin qu'ils traitent les classes d'implรฉmentation de maniรจre spรฉcifique. Les interfaces Serializable et Cloneable de la norme en sont des exemples. Java bibliothรจque.

Rรฉsumez cet article avec :