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 private
la 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