Qu'est-ce qu'une interface en Java :comment implémenter une interface avec un exemple
Qu'est-ce que l'interface en Java ?
Une interface en Java Le langage de programmation est défini comme un type abstrait utilisé pour spécifier le comportement d'une classe. Une interface Java contient des constantes statiques et des méthodes abstraites. Une classe peut implémenter plusieurs interfaces. En Java, les interfaces sont déclarées à l'aide du mot-clé interface. Toutes les méthodes de l'interface sont implicitement publiques et abstraites.
Maintenant, nous allons apprendre à utiliser l'interface en Java.
Syntaxe pour déclarer l'interface
Pour utiliser une interface dans votre classe, ajoutez le mot clé « implémente » après le nom de votre classe, suivi du nom de l'interface.
interface { //methods }
Exemple d'implémentation d'interface
Maintenant, comprenons l'interface en Java avec un exemple :
class Dog implements Pet
interface RidableAnimal extends Animal, Vehicle
Cliquez ici si la vidéo n'est pas accessible
Pourquoi une interface est-elle requise ?
Pour mieux comprendre l'utilisation de l'interface en Java, voyons un exemple d'interface Java. La classe « Media Player » comprend deux sous-classes :lecteur de CD et lecteur de DVD. Chacun ayant sa propre implémentation d'interface dans la méthode Java pour jouer de la musique.
Une autre classe "lecteur Combo" hérite à la fois du CD et du DVD (voir l'image ci-dessous). De quelle méthode de jeu doit-il hériter ? Cela peut entraîner de graves problèmes de conception. Et par conséquent, Java n'autorise pas l'héritage multiple.
Prenons maintenant un autre exemple de Chien.
Supposons que vous ayez une exigence où la classe « chien » hérite des classes « animal » et « Pet » (voir l'image ci-dessous). Mais vous ne pouvez pas étendre deux classes en Java. Alors, que feriez-vous? La solution est Interface.
Le livret de règles pour l'interface dit,
- Une interface d'implémentation Java est une classe 100 % abstraite et n'a que des méthodes abstraites.
- La classe peut implémenter n'importe quel nombre d'interfaces.
La classe Dog peut s'étendre à la classe "Animal" et implémenter l'interface en tant que "Pet".
Exemple d'interface Java :
Comprenons le programme d'interface ci-dessous en 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 la sortie de l'interface dans le programme Java.
Différence entre classe et interface
En classe, vous pouvez instancier une variable et créer un objet. | Dans une interface, vous ne pouvez pas instancier une variable et créer un objet. |
La classe peut contenir des méthodes concrètes (avec implémentation) | L'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 l'interface, un seul spécificateur est utilisé :public. |
Quand utiliser l'interface et la classe abstraite ?
- Utilisez une classe abstraite lorsqu'un modèle doit être défini pour un groupe de sous-classes
- Utiliser une interface lorsqu'un rôle doit être défini pour d'autres classes, quel que soit l'arbre d'héritage de ces classes
Doit connaître des faits sur l'interface
- Une classe Java peut implémenter plusieurs interfaces Java. Il faut que la classe implémente toutes les méthodes déclarées dans les interfaces.
- La classe doit remplacer toutes les méthodes abstraites déclarées dans l'interface
- L'interface permet d'envoyer un message à un objet sans se soucier des classes auxquelles il appartient.
- La 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 abstraites
- Une interface ne peut pas être instanciée
- Une référence d'interface peut pointer vers des objets de ses classes d'implémentation
- Une interface peut s'étendre à partir d'une ou plusieurs interfaces. La classe ne peut étendre qu'une seule classe mais implémenter n'importe quel nombre d'interfaces
- Une interface ne peut pas implémenter une autre interface. Il 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
- Au moment de la déclaration, la variable d'interface doit être initialisée. Sinon, le compilateur renverra une erreur.
- La classe ne peut pas implémenter deux interfaces en Java qui ont des méthodes avec le même nom mais un type de retour différent.
Résumé :
- La classe qui implémente l'interface 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 abstraites
- Une interface ne peut pas être instanciée
- Une référence d'interface peut pointer vers des objets de ses classes d'implémentation
- Une interface peut s'étendre à partir d'une ou plusieurs interfaces. Une classe ne peut étendre qu'une seule classe mais implémenter n'importe quel nombre d'interfaces
Java
- InterfaceJava
- Tutoriel de classe abstraite C # avec exemple :Qu'est-ce que l'abstraction ?
- Méthode String Length () en Java:comment trouver avec l'exemple
- Méthode Java String charAt() avec exemple
- Méthode Java String endsWith () avec exemple
- Interface vs classe abstraite en Java :quelle est la différence ?
- Java BufferedReader :comment lire un fichier en Java avec un exemple
- Algorithme de tri par insertion en Java avec exemple de programme
- Java-Interfaces