Étendre deux classes en Java

Mohammad Irfan 12 octobre 2023
  1. Étendre une classe en Java
  2. Étendre deux classes en Java
  3. Étendre deux interfaces en Java
Étendre deux classes en Java

Ce didacticiel présente comment étendre deux ou plusieurs classes en Java. Nous avons également inclus des exemples de codes pour vous aider à comprendre le sujet.

L’héritage est une fonctionnalité Java OOP qui permet d’étendre une classe à une autre classe pour accéder aux propriétés d’une classe. Java permet d’étendre la classe à n’importe quelle classe, mais il a une limite. Cela signifie qu’une classe ne peut étendre qu’une seule classe à la fois. L’extension de plusieurs classes entraînera un échec de l’exécution du code.

Lorsqu’une classe étend une classe, on parle alors d’héritage simple. Si une classe étend plus d’une classe, elle est appelée multi-héritage, ce qui n’est pas autorisé en Java.

Voyons quelques exemples et comprenons le concept complet.

Étendre une classe en Java

Java n’autorise pas les héritages multiples. Dans cet exemple, nous avons créé deux classes. Une classe s’étend à une autre et s’exécute correctement ; cela signifie que Java permet l’extension d’une seule classe. Et si on étendait deux classes ? Nous le verrons dans l’exemple suivant ci-dessous.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
  public class SimpleTesting extends Run {
    public static void main(String[] args) {
      SimpleTesting run = new SimpleTesting();
      run.showSpeed();
      run.speed = 20;
      run.showSpeed();
    }
  }
}

Production:

Current Speed : 0 Current Speed : 20

Étendre deux classes en Java

Dans cet exemple de méthode, une classe étend deux classes, ce qui implique des héritages multiples. Java n’autorise pas ce processus, le code ne s’exécute donc pas et génère une erreur de compilation. Voir l’exemple ci-dessous.

class Run {
  int speed;
  void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}
class Car {
  String color;
  int topSpeed;
}
public class SimpleTesting extends Run, Car {
  public static void main(String[] args) {
    SimpleTesting run = new SimpleTesting();
    run.showSpeed();
    run.speed = 20;
    run.showSpeed();
  }
}

Production:

error

Étendre deux interfaces en Java

Deux classes ne sont pas autorisées, mais une classe peut étendre deux interfaces en Java. Ce langage permet d’étendre deux ou plusieurs interfaces dans une classe. Ce code s’exécute en douceur sans aucune erreur. Donc, si vous souhaitez étendre plusieurs héritages, il serait préférable d’utiliser l’interface. Voir l’exemple ci-dessous.

interface Run {
  int speed = 10;
  static void showSpeed() {
    System.out.println("Current Speed : " + speed);
  }
}

interface Car {
  String color = "Red";
  int topSpeed = 100;
}

public class Main implements Run, Car {
  public static void main(String[] args) {
    Main run = new Main();
    Run.showSpeed();
    System.out.println("Top Speed " + Car.topSpeed);
  }
}

Production:

Current Speed : 10
Top Speed 100

Article connexe - Java Class