Contenu du cours
Java POO
Java POO
Qu'est-ce qu'une Interface ?
Que faire si nous devons hériter de plus d'une classe ? Java nous permet de le faire grâce aux interfaces. Malgré son nom, une interface est très similaire à une classe abstraite. Examinons la déclaration d'une interface :
En termes simples, une interface sert à définir des méthodes qu'une classe devra implémenter. Les interfaces possèdent une syntaxe spécifique pour leur création. Alors que nous utilisions « public class className { }
» pour créer une classe, la syntaxe pour créer une interface est différente :
InterfaceExample.java
package com.example; public interface InterfaceExample { void methodName(); String methodThatAcceptsAndReturnsString(String parameter); }
Prendre en compte la déclaration de méthode ;
Ne pas utiliser de modificateurs d'accès ;
Ne pas fournir de corps de méthode ;
Inutile de qualifier les méthodes comme abstract puisque nous sommes dans une interface ;
Ne pas créer de champs dans les interfaces.
Considérons l'utilisation d'une Interface
à travers l'exemple d'un lecteur multimédia.
Nous avons une Interface
appelée MediaPlayer
qui possède les méthodes play
, pause
et stop
. De plus, deux classes implémentent cette interface de lecteur multimédia, à savoir AudioPlayer
et VideoPlayer
.
MediaPlayer.java
AudioPlayer.java
VideoPlayer.java
public interface MediaPlayer { void play(); void pause(); void stop(); }
Comme vous pouvez le constater, nous avons créé une interface
et deux classes qui implémentent cette interface. La syntaxe est identique à celle utilisée lors de la redéfinition de méthodes abstraites. Nous avons redéfini chaque méthode pour chaque classe afin d’exécuter sa propre fonction spécifique.
L’une des caractéristiques des interfaces est que nous pouvons implémenter plus d’une interface. Examinons un exemple :
Vehicle.java
VehicleInfo.java
Car.java
package vehicle; interface Vehicle { void startEngine(); void stopEngine(); }
Nous avons créé les interfaces Vehicle
et VehicleInfo
. De plus, nous avons créé une classe Car
qui implémente ces deux interfaces. De cette manière, nous pouvons choisir quel comportement implémenter dans la classe, ce qui complète parfaitement le principe d’abstraction de la programmation orientée objet.
Travailler avec des interfaces est très pratique, et elles sont largement utilisées. Dans le prochain chapitre, nous examinerons également les principales différences entre une interface et une classe abstraite et apprendrons laquelle il est préférable d’utiliser en pratique !
1. Qu'est-ce qu'une interface en Java ?
2. En Java, une classe peut-elle implémenter plusieurs interfaces ?
3. Quel est le but d'une interface en Java ?
4. Quel mot-clé est utilisé pour implémenter une interface dans une classe ?
5. Que se passe-t-il si une classe prétend implémenter une interface mais ne fournit pas d'implémentations pour toutes ses méthodes ?
Merci pour vos commentaires !