Спадкування класу JavaScript

У цьому посібнику ви дізнаєтесь про успадкування класу JavaScript за допомогою прикладів.

Клас успадкування

Спадщина дозволяє визначити клас, який бере всі функції батьківського класу і дозволяє додавати більше.

Використовуючи успадкування класу, клас може успадкувати всі методи та властивості іншого класу.

Спадкування - корисна функція, яка дозволяє повторно використовувати код.

Щоб використовувати успадкування класу, ви використовуєте extendsключове слово. Наприклад,

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

Вихідні дані

 Привіт Джеку

У наведеному вище прикладі Studentклас успадковує всі методи та властивості Personкласу. Отже, Studentклас тепер матиме nameвластивість і greet()метод.

Потім ми отримали доступ до greet()методу Studentкласу, створивши student1об’єкт.

Супер () ключове слово JavaScript

superКлючове слово , яке використовується всередині дочірнього класу позначає його батьківський клас. Наприклад,

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

Тут superвнутрішній Studentклас відноситься до Personкласу. Отже, коли Studentвикликається конструктор класу, він також викликає конструктор Personкласу, який присвоює йому властивість name.

Заміна методу або властивості

Якщо дочірній клас має той самий метод або ім'я властивості, що і батьківський клас, він буде використовувати метод і властивість дочірнього класу. Ця концепція називається перевизначенням методу. Наприклад,

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

Вихідні дані

Привіт студент Джек. рід занять: Студент

Тут occupationвластивість і greet()метод присутні в батьківському Personкласі та дочірньому Studentкласі. Отже, Studentклас замінює occupationвластивість і greet()метод.

Використання спадщини

  • Оскільки дочірній клас може успадкувати всі функціональні можливості батьківського класу, це дозволяє повторно використовувати код.
  • Після того, як функціонал розроблений, ви можете просто успадкувати його. Не потрібно винаходити колесо заново. Це дозволяє отримати більш чистий код і простіше в обслуговуванні.
  • Оскільки ви також можете додати власні функціональні можливості в дочірній клас, ви можете успадкувати лише корисні функціональні можливості та визначити інші необхідні функції.

Цікаві статті...