L'héritage
Fait partie de la section Programmation Orientée Objet du Journey JavaScript de Coddy — leçon 24 sur 56.
L'héritage dans la POO JavaScript est un moyen pour une classe d'accéder à toutes les propriétés et méthodes d'une autre classe.
Regardons un exemple. Créez une classe parente :
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Maintenant, créez une classe enfant qui hérite de Vehicle :
// Car hérite de Vehicle
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}Créez une instance de la classe enfant :
const myCar = new Car("Toyota", "Camry");Accéder aux propriétés et aux méthodes :
console.log(myCar.brand); // "Toyota" - hérité de Vehicle
console.log(myCar.model); // "Camry" - hérité de Vehicle
// Car peut accéder aux méthodes de Vehicle
myCar.drive(); // "Driving!" - hérité de Vehicle
// Car a également ses propres méthodes
myCar.honk(); // "Beep beep!" - spécifique à CarDéfi
On vous donne une classe Animal et une classe Dog qui en hérite. Votre tâche consiste à créer un objet myDog avec le nom "Buddy" et l'âge 3.
Aide-mémoire
L'héritage permet à une classe d'accéder aux propriétés et méthodes d'une autre classe en utilisant le mot-clé extends.
Classe parente :
class Vehicle {
constructor(brand, model) {
this.brand = brand;
this.model = model;
}
drive() {
console.log("Driving!");
}
}Classe enfant héritant du parent :
class Car extends Vehicle {
honk() {
console.log("Beep beep!");
}
}La classe enfant hérite de toutes les propriétés et méthodes de la classe parente et peut également avoir les siennes :
const myCar = new Car("Toyota", "Camry");
console.log(myCar.brand); // "Toyota" - hérité
myCar.drive(); // "Driving!" - hérité
myCar.honk(); // "Beep beep!" - propre méthodeEssayez vous-même
import { Dog } from './animal.js';
// À FAIRE : Créer l'objet myDog avec le nom "Buddy" et l'âge 3.
// Code de test - ne pas modifier
console.log(myDog.name); // Devrait afficher "Buddy"
console.log(myDog.age); // Devrait afficher 3Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Programmation Orientée Objet
1Objets et le mot-clé this
Révision rapide : Les objetsAjouter des méthodes aux objetsComprendre le mot-clé thisFonctions constructeursLe mot-clé newDéfi récapitulatif7L'héritage et le mot-clé extends
L'héritageLa relation « est un »Le mot-clé extendsLa méthode super()Hériter des propriétés et méthodesDéfi récapitulatif10Polymorphisme
Qu'est-ce que le polymorphisme ?Redéfinition de méthodes héritéesUtiliser superDéfi récapitulatif13Composition vs Héritage
Les relations « has-a » vs « is-a »Les limites de l'héritage profondConstruction d'objets2Organisation du code
Qu'est-ce qu'un module ?Exporter avec exportImporter avec importExports par défaut vs nommés5Encapsulation & Accès
EncapsulationChamps de classe publics et privésMéthodes privéesDéfi récapitulatif8Organisation du code POO
Organiser les classes en modules11Projet : Un moteur de rendu de formes
Configuration : Classe Shape et ExportationHéritage de la classe Circle14Système de gestion de bibliothèque
Conception de la bibliothèqueClasse Book avec composition3Classes et Objets
Qu'est-ce qu'une classe ?Créer des instancesPropriétés et méthodesDéfi récapitulatif9Méthodes et propriétés statiques
Niveau classe vs Niveau instancePropriétés statiquesMéthodes utilitaires statiquesDéfi récapitulatif