Tutoriels Java

Java ACCUEIL Introduction à Java Java Démarrer Syntaxe Java Commentaires Java Variables Java Types de données Java Conversion de type Java Opérateurs Java Chaînes Java Mathématiques Java Booléens Java Java Si... Sinon Commutateur Java Java While Boucle Java pour la boucle Java Pause/Continuer Tableaux Java

Méthodes Java

Méthodes Java Paramètres de méthode Java Surcharge de méthode Java Portée Java Récursivité Java

Cours Java

POO Java Classes/Objets Java Attributs de classe Java Méthodes de classe Java Constructeurs Java Modificateurs Java Encapsulation Java Paquets Java/API Héritage Java Polymorphisme Java Classes internes Java Abstraction Java InterfaceJava Énumérations Java Entrée utilisateur Java Data Java Java ArrayList Liste liée Java Java HashMap Jeu de hachage Java Itérateur Java Classes d'encapsulation Java Exception Java Java RegEx Fils Java Java Lambda

Gestion des fichiers Java

Fichiers Java Java créer/écrire des fichiers Fichiers de lecture Java Java supprimer des fichiers

Comment Java

Additionner deux nombres

Référence Java

Mots clés Java Méthodes de chaîne Java Méthodes mathématiques Java

Exemples Java

Exemples Java Compilateur Java Exercices Java Quizz Java Certificat Java


Héritage Java


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 le extends mot clé.

Dans l'exemple ci-dessous, la Carclasse (sous-classe) hérite des attributs et des méthodes de la Vehicleclasse (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);
  }
}

Avez-vous remarqué le protectedmodificateur dans Véhicule ?

Nous définissons l' attribut de marque dans Vehicle sur un protected modificateur d'accès . S'il était défini sur private, la classe Car ne pourrait 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.

Astuce : 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 le mot- finalclé :

Si vous tentez d'accéder à une finalclasse, 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)