Accéder au contenu principal
Documents
Tableaux JavaProgrammation orientée objet en JavaTraitement des fichiers en JavaIntroduction To JavaLes bases du langage JavaMots-clés Java

implémente le mot-clé en Java

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

class ClassName implements InterfaceName {
    // Class body with implementations of interface methods
}
  • 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

interface Animal {
    void makeSound();
}

public class Dog implements Animal {
    public void makeSound() {
        System.out.println("Bark");
    }

    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.makeSound();  // Outputs: Bark
    }
}

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

interface Animal {
    void makeSound();
}

interface Pet {
    void play();
}

public class Cat implements Animal, Pet {
    public void makeSound() {
        System.out.println("Meow");
    }

    public void play() {
        System.out.println("Playing with a ball of yarn");
    }

    public static void main(String[] args) {
        Cat cat = new Cat();
        cat.makeSound();  // Outputs: Meow
        cat.play();       // Outputs: Playing with a ball of yarn
    }
}

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

interface Vehicle {
    void start();
    default void stop() {
        System.out.println("Vehicle stopped");
    }
}

public class Car implements Vehicle {
    public void start() {
        System.out.println("Car started");
    }

    public static void main(String[] args) {
        Car car = new Car();
        car.start();  // Outputs: Car started
        car.stop();   // Outputs: Vehicle stopped
    }
}

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.
interface Drivable {
    void drive();
}

interface Fillable {
    void fillFuel();
}

public class Truck implements Drivable, Fillable {
    public void drive() {
        System.out.println("Truck is driving");
    }

    public void fillFuel() {
        System.out.println("Filling truck with fuel");
    }
}

Apprendre l'essentiel de Java

Développez vos compétences en Java à partir de la base et maîtrisez les concepts de programmation.
Commencez à apprendre gratuitement