Maison  >  Article  >  interface Web  >  Sous-classement et héritage dans ES6 expliqués

Sous-classement et héritage dans ES6 expliqués

王林
王林avant
2023-09-05 12:37:02954parcourir

Sous-classement et héritage dans ES6 expliqués

En JavaScript, les développeurs utilisent des prototypes pour hériter d'une autre fonction dans ES5. Dans ES6, les classes introduites dans JavaScript peuvent être utilisées pour l'héritage comme d'autres langages de programmation.

Que sont le sous-classement et l'héritage ?

Comme le mot sous-classe le représente, il s'agit d'une sous-classe d'une autre classe. Nous pouvons utiliser l'héritage pour créer ou dériver des sous-classes à partir d'une superclasse, et nous pouvons appeler une classe comme une superclasse, une classe qui en dérive et une sous-classe comme une classe dérivée.

La sous-classe contient toutes les propriétés et méthodes de la superclasse, et nous pouvons y accéder en utilisant l'objet sous-classe. Vous pouvez dériver la classe de la superclasse en utilisant le mot-clé « extend ».

Grammaire

Vous pouvez hériter d'une sous-classe d'une superclasse en suivant la syntaxe suivante.

Class superClass {
   // members and methods of the superClass
}
class subClass extends superClass {
   // it contains all members and methods of the superclass
   // define the properties of the subclass
}

Nous avons utilisé le mot-clé class dans la syntaxe ci-dessus pour créer une classe. De plus, les utilisateurs peuvent également voir comment nous pouvons hériter des sous-classes des superclasses à l'aide du mot-clé extends.

Avantages de l'héritage

Avant de poursuivre ce tutoriel, comprenons les différents avantages de l'héritage.

  • L'héritage nous permet de réutiliser le code des super classes.

  • L'héritage fait gagner du temps car nous n'avons pas besoin d'écrire souvent le même code.

  • De plus, nous pouvons utiliser l'héritage pour générer du code maintenable avec une structure appropriée.

  • Nous pouvons utiliser l'héritage pour remplacer les méthodes de super classe et les implémenter à nouveau dans les classes enfants.

Comprenons l'héritage à travers des exemples concrets. De cette façon, nous pouvons comprendre correctement l’héritage.

Exemple

Dans l'exemple ci-dessous, nous avons créé la classe maison. La classe Two_BHK hérite de la classe house, ce qui signifie que la classe Two_BHK contient toutes les propriétés et méthodes de la classe house.

Nous avons remplacé la méthode get_total_rooms() de la classe house et implémenté notre propre méthode dans la classe Two_BHK.

<html>
<body>
   <h2>Using the <i> extends </i> keyword to inherit classes in ES6  </h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById("output");
      class house {
         color = "blue";
         get_total_rooms() {
            output.innerHTML += "House has a default room. </br>";
         }
      }
      // extended the house class via two_BHK class
      class Two_BHK extends house {
         // new members of two_BHK class
         is_galary = false;
         // overriding the get_total_rooms() method of house class
         get_total_rooms() {
            output.innerHTML += "Flat has a total of two rooms. </br>";
         }
      }
      // creating the objects of the different classes and invoking the 
      //get_total_rooms() method by taking the object as a reference. 
      let house1 = new house();
      house1.get_total_rooms();
      let house2 = new Two_BHK();
      house2.get_total_rooms();
   </script>
</body>
</html>

Vous pouvez désormais comprendre le véritable objectif de l’héritage. Vous pouvez observer dans l'exemple ci-dessus comment nous pouvons réutiliser le code via l'héritage. De plus, il fournit une structure claire, comme le démontre l’exemple ci-dessus. De plus, nous pouvons définir la structure de la méthode dans la super classe et l'implémenter dans la sous-classe. Ainsi, la super classe fournit une structure de méthode claire et nous pouvons les implémenter dans les sous-classes.

Exemple

Dans cet exemple, nous utilisons le constructeur de la classe pour initialiser les propriétés de la classe. De plus, nous avons utilisé le mot-clé super() pour appeler le constructeur de la super classe à partir de la sous-classe.

N'oubliez pas que vous devez écrire le mot-clé super() dans le constructeur de sous-classe avant d'initialiser les propriétés de la sous-classe.

<html>
<body>
   <h2>Using the <i> extends </i> keyword to inherit classes in ES6 </h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById("output");
      // creating the superclass
      class superClass {
         // constructor of the super-class
         constructor(param1, param2) {
            this.prop1 = param1;
            this.prop2 = param2;
         }
      }
      // Creating the sub-class
      class subClass extends superClass {
         // constructor of subClass
         constructor(param1, param2, param3) {
            // calling the constructor of the super-class
            super(param1, param2);
            this.prop3 = param3;
         }
      }
      // creating the object of the subClass
      let object = new subClass("1000", 20, false);
      output.innerHTML +=
      "The value of prop1 in the subClass class is " + object.prop1 + "</br>";
      output.innerHTML +=
      "The value of prop2 in subClass class is " + object.prop2 + "</br>";
      output.innerHTML +=
      "The value of prop3 in subClass class is " + object.prop3 + "</br>";
   </script>
</body>
</html>

Nous avons découvert l'héritage dans ce tutoriel. De plus, ce didacticiel nous apprend également à remplacer les méthodes des sous-classes et à appeler le constructeur de la superclasse à partir de la sous-classe pour initialiser toutes les propriétés de la superclasse.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer