Aller au contenu

Java — Héritage (Inheritance)

L’héritage est un pilier de la programmation orientée objet. Il permet à une classe de réutiliser et d’étendre le comportement d’une autre.


1. Idée simple

Une classe peut hériter d’une autre

➡️ elle récupère ses attributs et méthodes


2. Héritage de classe

class Animal {
    void speak() {
        System.out.println("Animal sound");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("Bark");
    }
}

Dog hérite de Animal


Règle importante

Java n’autorise qu’un seul héritage de classe

class A {}
class B {}

// ❌ interdit
class C extends A, B {}

3. Interfaces (héritage multiple)

Une classe peut implémenter plusieurs interfaces

interface Flyable {
    void fly();
}

interface Swimmable {
    void swim();
}

class Duck implements Flyable, Swimmable {
    public void fly() {}
    public void swim() {}
}

héritage multiple possible avec interfaces


4. Classe + Interface

Une classe peut :

  • hériter d’une classe
  • implémenter des interfaces
class Animal {}

interface Runnable {}

class Dog extends Animal implements Runnable {
    public void run() {}
}

combinaison très courante


5. Pourquoi cette règle ?

Java interdit héritage multiple de classes pour éviter :

  • conflits de méthodes
  • ambiguïtés (diamond problem)

les interfaces sont plus sûres


Pièges fréquents

  • croire qu’on peut hériter de plusieurs classes
  • oublier implements pour interface
  • confusion entre extends et implements

6. Questions classiques

Q1

Java supporte héritage multiple de classes ? Non


Q2

plusieurs interfaces possibles ? Oui


Q3

classe + interface possible ? Oui


7. À retenir

  • 1 seule classe (extends)
  • plusieurs interfaces (implements)
  • combinaison possible

🧾 En résumé

  • héritage permet la réutilisation
  • Java limite l’héritage de classes
  • interfaces offrent de la flexibilité

C’est une base essentielle pour comprendre la POO en Java.


Voir aussi