JavaScript osztály öröklése

Ebben az oktatóanyagban példák segítségével megismerheti a JavaScript osztály öröklődését.

Osztály öröklődés

Az öröklés lehetővé teszi egy olyan osztály definiálását, amely az összes funkciót elveszi a szülő osztálytól, és további felvételeket tesz lehetővé.

Az osztályöröklés használatával egy osztály örökölheti egy másik osztály összes módszerét és tulajdonságát.

Az öröklés hasznos funkció, amely lehetővé teszi a kód újrafelhasználhatóságát.

Az osztályöröklés használatához használja a extendskulcsszót. Például,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

Kimenet

 Hello Jack

A fenti példában az Studentosztály örökli az osztály összes módszerét és tulajdonságát Person. Ezért az Studentosztálynak megvan a nametulajdonsága és a greet()metódusa.

Ezután egy objektum létrehozásával értük el az osztály greet()módszerét .Studentstudent1

JavaScript super () kulcsszó

A supergyermekosztályon belül használt kulcsszó a szülő osztályát jelöli. Például,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

Itt a superbelső Studentosztály az osztályra utal Person. Ezért, amikor az Studentosztály konstruktorát meghívják, akkor az osztály konstruktorát is meghívja, Personamely név tulajdonságot rendel hozzá.

Felülbíráló módszer vagy tulajdonság

Ha egy gyermek osztálynak ugyanaz a módszere vagy tulajdonságneve, mint a szülő osztálynak, akkor a gyermek osztály módszerét és tulajdonságát használja. Ezt a fogalmat nevezzük módszer felülírásának. Például,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

Kimenet

Hello Jack hallgató. foglalkozás: Diák

Itt a occupationtulajdonság és a greet()módszer jelen van a szülő Personosztályban és a gyermek Studentosztályban. Ezért az Studentosztály felülírja a occupationtulajdonságot és a greet()módszert.

Az öröklés felhasználása

  • Mivel egy gyermekosztály örökölheti a szülő osztály összes funkcióját, ez lehetővé teszi a kód újrafelhasználhatóságát.
  • A funkcionalitás fejlesztése után egyszerűen örökölheti. Nem kell újból feltalálni a kereket. Ez tisztább kódot tesz lehetővé és könnyebben karbantartható.
  • Mivel a gyermekosztályba saját funkciókat is felvehet, csak a hasznos funkciókat örökölheti és meghatározhat más szükséges funkciókat.

érdekes cikkek...