Nasljeđivanje klase JavaScript

U ovom ćete tutorijalu uz primjere naučiti o nasljeđivanju klase JavaScript.

Razredno nasljeđivanje

Nasljeđivanje omogućuje vam definiranje klase koja uzima sve funkcije roditeljske klase i omogućuje vam dodavanje više.

Koristeći nasljeđivanje klase, klasa može naslijediti sve metode i svojstva druge klase.

Nasljeđivanje je korisna značajka koja omogućuje ponovnu upotrebu koda.

Da biste koristili nasljeđivanje klase, koristite extendsključnu riječ. Na primjer,

 // 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();

Izlaz

 Pozdrav Jack

U gornjem primjeru Studentklasa nasljeđuje sve metode i svojstva Personklase. Stoga će Studentklasa sada imati namesvojstvo i greet()metodu.

Zatim smo pristupili greet()metodi Studentklase stvarajući student1objekt.

JavaScript super () ključna riječ

superKljučna riječ koristi u razredu dijete označava njegov roditelj klasa. Na primjer,

 // 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();

Ovdje se superunutarnji Studentrazred odnosi na Personrazred. Stoga, kada Studentse pozove konstruktor klase, on također poziva konstruktor Personklase koji mu dodjeljuje svojstvo imena.

Nadjačavanje metode ili svojstva

Ako podređena klasa ima istu metodu ili ime svojstva kao i roditeljska klasa, ona će koristiti metodu i svojstvo podređene klase. Ovaj koncept naziva se nadjačavanje metode. Na primjer,

 // 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();

Izlaz

Pozdrav student Jack. zanimanje: Student

Ovdje su occupationsvojstvo i greet()metoda prisutni u roditeljskoj Personklasi i podređenoj Studentklasi. Dakle, Studentklasa nadjačava occupationsvojstvo i greet()metodu.

Uporaba nasljeđivanja

  • Budući da podređena klasa može naslijediti sve funkcionalnosti roditeljske klase, to omogućuje ponovnu upotrebu koda.
  • Jednom kada se funkcionalnost razvije, možete je jednostavno naslijediti. Nije potrebno iznova otkrivati ​​kotač. To omogućuje čišći kod i lakše ga je održavati.
  • Budući da također možete dodati vlastite funkcionalnosti u podređenu klasu, možete naslijediti samo korisne funkcionalnosti i definirati ostale potrebne značajke.

Zanimljivi članci...