Просте спадкування в javascript що потрібно знати, javascript

Ця концепція є дуже гнучкою, тому може використовуватися для реалізації деяких понять об'єктно-орієнтованого програмування, таких як успадкування.

Реалізація успадкування

Просте спадкування в javascript що потрібно знати, javascript

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

Примірник цього «класу» може бути створений за допомогою ключового слова new:

Використовуємо його за допомогою нашого об'єкта:

Досить просто, чи не так?

Весь приклад займає всього вісім рядків коду:

Тепер давайте додамо інструмент для створення «успадкування» між класами. Цей інструмент повинен робити лише одну річ: клонувати прототип:

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

Таким чином, якщо ми хочемо додати другий клас, який буде спадкоємцем першого, нам потрібно просто використовувати наступний код:

Так як ClassB успадковує функцію print від ClassA. Наступного код працює:

І створює такий висновок:

Ми навіть можемо перевизначити функцію print для ClassB:

В даному випадку, отриманий результат виглядає наступним чином:

Хитрість тут в тому, щоб викликати ClassA.prototype для отримання базової функції print. Потім завдяки функції call ми можемо викликати базову функцію для поточного об'єкта (this).

Результат виконання коду наступний:

І трохи філософії.

Схожі статті