У цьому посібнику ви дізнаєтесь про успадкування класу 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()
метод.
Використання спадщини
- Оскільки дочірній клас може успадкувати всі функціональні можливості батьківського класу, це дозволяє повторно використовувати код.
- Після того, як функціонал розроблений, ви можете просто успадкувати його. Не потрібно винаходити колесо заново. Це дозволяє отримати більш чистий код і простіше в обслуговуванні.
- Оскільки ви також можете додати власні функціональні можливості в дочірній клас, ви можете успадкувати лише корисні функціональні можливості та визначити інші необхідні функції.