Java Tutorial

InterfaceJava


Interfaces

Une autre façon de réaliser l’abstraction en Java consiste à utiliser des interfaces.

Un interface est complètement « classe abstraite » qui est utilisé pour regrouper les méthodes associées avec des corps vides :

Exemple

// interface
interface Animal {
  public void animalSound(); // interface method (does not have a body)
  public void run(); // interface method (does not have a body)
}

Pour accéder aux méthodes d’interface, l’interface doit être « implémentée » (un peu comme héritée) par une autre classe avec le implements
mot clé (au lieu de extends). Le corps de la méthode d’interface est fourni par la classe « implement »:

Exemple

// Interface
interface Animal {
  public void animalSound(); // interface method (does not have a body)
  public void sleep(); // interface method (does not have a body)
}

// Pig "implements" the Animal interface
class Pig implements Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
  public void sleep() {
    // The body of sleep() is provided here
    System.out.println("Zzz");
  }
}

class Main {
  public static void main(String[] args) {
    Pig myPig = new Pig();  // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

Essayez-le vous-même »

Remarques sur les interfaces :

  • Comme cours abstraitsinterfaces ne peut pas être utilisé pour créer des objets (dans l’exemple ci-dessus, il n’est pas possible de créer un objet « Animal » dans la MyMainClass)
  • Les méthodes d’interface n’ont pas de corps – le corps est fourni par la classe « implémenter »
  • Lors de l’implémentation d’une interface, vous devez surcharger toutes ses méthodes
  • Les méthodes d’interface sont par défaut abstract et
    public
  • Les attributs d’interface sont par défaut public,
    static et final
  • Une interface ne peut pas contenir de constructeur (car elle ne peut pas être utilisée pour créer des objets)

Pourquoi et quand utiliser les interfaces ?

1) Pour assurer la sécurité – masquez certains détails et affichez uniquement les détails importants d’un objet (interface).

2) Java ne supporte pas « l’héritage multiple » (une classe ne peut hériter que d’une superclasse). Cependant, cela peut être réalisé avec des interfaces, car la classe peut mettre en œuvre plusieurs interfaces.
Note: Pour implémenter plusieurs interfaces, séparez-les par une virgule (voir l’exemple ci-dessous).



Interfaces multiples

Pour implémenter plusieurs interfaces, séparez-les par une virgule :

Exemple

interface FirstInterface {
  public void myMethod(); // interface method
}

interface SecondInterface {
  public void myOtherMethod(); // interface method
}

class DemoClass implements FirstInterface, SecondInterface {
  public void myMethod() {
    System.out.println("Some text..");
  }
  public void myOtherMethod() {
    System.out.println("Some other text...");
  }
}

class Main {
  public static void main(String[] args) {
    DemoClass myObj = new DemoClass();
    myObj.myMethod();
    myObj.myOtherMethod();
  }
}

Essayez-le vous-même »

#InterfaceJava

Articles similaires

Bouton retour en haut de la page