În acest tutorial, veți afla despre moștenirea clasei JavaScript cu ajutorul exemplelor.
Moștenirea clasei
Moștenirea vă permite să definiți o clasă care preia toate funcționalitățile dintr-o clasă părinte și vă permite să adăugați mai multe.
Folosind moștenirea clasei, o clasă poate moșteni toate metodele și proprietățile altei clase.
Moștenirea este o caracteristică utilă care permite reutilizarea codului.
Pentru a utiliza moștenirea clasei, utilizați extends
cuvântul cheie. De exemplu,
// 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();
Ieșire
Salut Jack
În exemplul de mai sus, Student
clasa moștenește toate metodele și proprietățile Person
clasei. Prin urmare, Student
clasa va avea acum name
proprietatea și greet()
metoda.
Apoi, am accesat greet()
metoda Student
clasei prin crearea unui student1
obiect.
Cuvânt cheie JavaScript super ()
Cuvântul super
cheie utilizat în cadrul unei clase copil denotă clasa părinte. De exemplu,
// 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();
Aici, clasa din super
interior Student
se referă la Person
clasă. Prin urmare, atunci când Student
este apelat constructorul clasei, apelează și constructorul Person
clasei care îi atribuie o proprietate de nume.
Metoda sau proprietatea suprascriere
Dacă o clasă copil are aceeași metodă sau nume de proprietate ca cea a clasei părinte, va folosi metoda și proprietatea clasei copil. Acest concept se numește metoda suprasolicitării. De exemplu,
// 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();
Ieșire
Salut student Jack. ocupatie: Student
Aici, occupation
proprietatea și greet()
metoda sunt prezente în Person
clasa părinte și Student
clasa copil . Prin urmare, Student
clasa suprascrie occupation
proprietatea și greet()
metoda.
Utilizări ale moștenirii
- Deoarece o clasă copil poate moșteni toate funcționalitățile clasei părintelui, acest lucru permite reutilizarea codului.
- Odată ce o funcționalitate este dezvoltată, o puteți moșteni pur și simplu. Nu este nevoie să reinventăm roata. Acest lucru permite un cod mai curat și mai ușor de întreținut.
- Deoarece puteți adăuga propriile funcționalități în clasa copil, puteți moșteni doar funcționalitățile utile și defini alte caracteristici necesare.