Java Tutorial

Héritage Java (sous-classe et super-classe)


Héritage Java (sous-classe et super-classe)

En Java, il est possible d’hériter d’attributs et de méthodes d’une classe à une autre. Nous regroupons le « concept d’héritage » en deux catégories :

  • sous-classe (enfant) – la classe qui hérite d’une autre classe
  • superclasse (parent) – la classe héritée de

Pour hériter d’une classe, utilisez la extends
mot-clé.

Dans l’exemple ci-dessous, le Car classe (sous-classe) hérite des attributs et des méthodes de la Vehicle classe (superclasse):

Exemple

class Vehicle {
  protected String brand = "Ford";        // Vehicle attribute
  public void honk() {                    // Vehicle method
    System.out.println("Tuut, tuut!");
  }
}

class Car extends Vehicle {
  private String modelName = "Mustang";    // Car attribute
  public static void main(String[] args) {

    // Create a myCar object
    Car myCar = new Car();

    // Call the honk() method (from the Vehicle class) on the myCar object
    myCar.honk();

    // Display the value of the brand attribute (from the Vehicle class) and the value of the modelName from the Car class
    System.out.println(myCar.brand + " " + myCar.modelName);
  }
}

Essayez-le vous-même »

Avez-vous remarqué la protected modificateur dans Véhicule ?

Nous fixons le marque attribut dans Véhicule à un protected modificateur d’accès. S’il était réglé sur privatela classe Car ne pourra pas y accéder.

Pourquoi et quand utiliser « Héritage » ?

– C’est utile pour la réutilisabilité du code : réutilisez les attributs et les méthodes d’une classe existante lorsque vous créez une nouvelle classe.

Conseil: Jetez également un œil au chapitre suivant, Polymorphisme, qui utilise des méthodes héritées pour effectuer différentes tâches.



Le dernier mot-clé

Si vous ne voulez pas que d’autres classes héritent d’une classe, utilisez la final mot-clé:

Si vous essayez d’accéder à un final classe, Java générera une erreur :

final class Vehicle {
  ...
}

class Car extends Vehicle {
  ...
}

La sortie ressemblera à ceci :


Main.java:9: error: cannot inherit from final Vehicle
class Main extends
Vehicle {

                  ^

1 error)

Essayez-le vous-même »

#Héritage #Java #sousclasse #superclasse

Articles similaires

Bouton retour en haut de la page