Наследование в JavaScript
Наследование
56
Наследование в JavaScript - это механизм, позволяющий объектам наследовать свойства и методы других объектов. Обычно, объект, от которого происходит наследование, называется родительским объектом или суперклассом. В то время как объект, который наследует свойства и методы, называется потомком или подклассом.
В JavaScript наследование осуществляется путем создания цепочки объектов, связанных между собой через свойство prototype. Каждый объект имеет ссылку на свой объект-прототип, который служит как шаблон для наследования свойств и методов.
Для создания объекта-прототипа в JavaScript используется функция-конструктор. Она задает свойства и методы объекта, которые будут наследоваться другими объектами. Чтобы создать подкласс, необходимо создать новую функцию-конструктор, которая будет наследоваться от родительской функции-конструктора.
Для связи прототипа объекта с его функцией-конструктором используется свойство prototype.
Например, можно создать функцию-конструктор для родительского объекта:
function Person(name, age) { this.name = name; this.age = age; } Person.prototype.sayName = function() { console.log("My name is " + this.name); }
Затем можно создать функцию-конструктор для подкласса, который будет наследоваться от родительской функции-конструктора:
function Employee(name, age, salary) { Person.call(this, name, age); this.salary = salary; } Employee.prototype = Object.create(Person.prototype); Employee.prototype.constructor = Employee; Employee.prototype.saySalary = function() { console.log("My salary is " + this.salary); }
Здесь мы наследуем свойства name и age от родительской функции-конструктора Person, а также добавляем новое свойство salary. Наследование методов осуществляется путем создания нового объекта-прототипа с помощью метода Object.create и установки его в качестве прототипа подкласса.
Таким образом, мы можем создавать цепочки наследования, добавляя новые подклассы и расширяя функциональность уже существующих объектов.
March 25, 2023