Le mot-clé implements en Java est utilisé pour indiquer qu'une classe va implémenter une interface. En utilisant implements, une classe accepte de fournir des implémentations concrètes pour toutes les méthodes abstraites déclarées dans l'interface.
Utilisation
Le mot-clé implements est utilisé dans une déclaration de classe pour spécifier une ou plusieurs interfaces que la classe implémentera.
Syntax
classClassNameimplementsInterfaceName{// Class body with implementations of interface methods}Propulsé par
ClassName: Le nom de la classe qui implémente l'interface.
InterfaceName: Le nom de l'interface en cours d'implémentation. Plusieurs interfaces peuvent être mises en œuvre en les séparant par des virgules.
Exemples
Exemple 1 : Mise en œuvre d'une interface unique
interfaceAnimal{voidmakeSound();}publicclassDogimplementsAnimal{publicvoidmakeSound(){
System.out.println("Bark");}publicstaticvoidmain(String[] args){
Dog dog =newDog();
dog.makeSound();// Outputs: Bark}}Propulsé par
Dans cet exemple, la classe Dog met en œuvre l'interface Animal. La méthode makeSound est définie dans la classe Dog pour fournir le comportement spécifique d'un chien.
Exemple 2 : Mise en œuvre d'interfaces multiples
interfaceAnimal{voidmakeSound();}interfacePet{voidplay();}publicclassCatimplementsAnimal, Pet {publicvoidmakeSound(){
System.out.println("Meow");}publicvoidplay(){
System.out.println("Playing with a ball of yarn");}publicstaticvoidmain(String[] args){
Cat cat =newCat();
cat.makeSound();// Outputs: Meow
cat.play();// Outputs: Playing with a ball of yarn}}Propulsé par
Ici, la classe Cat met en œuvre deux interfaces, Animal et Pet. Il fournit des implémentations concrètes pour les méthodes makeSound et play.
Exemple 3 : Mise en œuvre d'une interface avec des méthodes par défaut
interfaceVehicle{voidstart();defaultvoidstop(){
System.out.println("Vehicle stopped");}}publicclassCarimplementsVehicle{publicvoidstart(){
System.out.println("Car started");}publicstaticvoidmain(String[] args){
Car car =newCar();
car.start();// Outputs: Car started
car.stop();// Outputs: Vehicle stopped}}Propulsé par
Dans cet exemple, l'interface Vehicle a une méthode par défaut stop. La classe Car implémente l'interface Vehicle et fournit une implémentation de la méthode start. La méthode par défaut de stop est héritée par la classe Car.
Conseils et bonnes pratiques
Séparation des interfaces: Implémenter des interfaces spécifiques à la fonctionnalité de la classe. Cela permet de respecter le principe de séparation des interfaces (ISP), ce qui rend le code plus modulaire et plus facile à maintenir.
Héritage multiple: Utiliser les interfaces pour réaliser l'héritage multiple en Java. Une classe peut mettre en œuvre plusieurs interfaces, ce qui lui permet d'hériter du comportement de plusieurs sources.
Méthodes par défaut: Exploitez les méthodes par défaut des interfaces pour fournir des fonctionnalités communes sans obliger toutes les classes qui les mettent en œuvre à les surcharger.
Documentation: Documentez l'objectif de chaque interface et les méthodes qu'elle déclare. Cela permet aux autres développeurs de comprendre le contrat que les classes d'implémentation doivent remplir.
Cohérence: Veiller à la cohérence des conventions de dénomination et des signatures de méthodes entre les interfaces et leurs implémentations, dans un souci de clarté et de facilité de maintenance.
interfaceDrivable{voiddrive();}interfaceFillable{voidfillFuel();}publicclassTruckimplementsDrivable, Fillable {publicvoiddrive(){
System.out.println("Truck is driving");}publicvoidfillFuel(){
System.out.println("Filling truck with fuel");}}Propulsé par
Le mot-clé
implementsen Java est utilisé pour indiquer qu'une classe va implémenter une interface. En utilisantimplements, une classe accepte de fournir des implémentations concrètes pour toutes les méthodes abstraites déclarées dans l'interface.Utilisation
Le mot-clé
implementsest utilisé dans une déclaration de classe pour spécifier une ou plusieurs interfaces que la classe implémentera.Syntax
ClassName: Le nom de la classe qui implémente l'interface.InterfaceName: Le nom de l'interface en cours d'implémentation. Plusieurs interfaces peuvent être mises en œuvre en les séparant par des virgules.Exemples
Exemple 1 : Mise en œuvre d'une interface unique
Dans cet exemple, la classe
Dogmet en œuvre l'interfaceAnimal. La méthodemakeSoundest définie dans la classeDogpour fournir le comportement spécifique d'un chien.Exemple 2 : Mise en œuvre d'interfaces multiples
Ici, la classe
Catmet en œuvre deux interfaces,AnimaletPet. Il fournit des implémentations concrètes pour les méthodesmakeSoundetplay.Exemple 3 : Mise en œuvre d'une interface avec des méthodes par défaut
Dans cet exemple, l'interface
Vehiclea une méthode par défautstop. La classeCarimplémente l'interfaceVehicleet fournit une implémentation de la méthodestart. La méthode par défaut destopest héritée par la classeCar.Conseils et bonnes pratiques