JavaScript 继承在的构造函数中是如何工作的

JavaScript 继承在的构造函数中是如何工作的

在这篇文章中,我们将讨论继承在JavaScript中是如何工作的,以及你如何在JavaScript的构造函数中利用这一OOPS特性。

我们还将略微讨论一下JavaScript中的原型对象。因此,如果你有这方面的知识,我们会非常感激。

在JavaScript中,继承是一种机制,一个对象可以从另一个对象继承属性和方法。这可以通过构造函数和原型属性来实现。

当创建一个构造函数时,你可以使用prototype属性来向构造函数的原型对象添加属性和方法。然后这些属性和方法会被任何使用构造函数创建的对象继承。

例子

让我们在以下例子的帮助下理解这一点

function Person(name, age) {
   this.name = name;
   this.age = age;
}
Person.prototype.getName = function() {
   return this.name;
};

在这个例子中,Person构造函数有一个名字和年龄属性以及一个getName方法。任何使用 Person 构造函数创建的对象都会有这些属性和方法从原型中继承过来。

你也可以创建一个继承自现有构造函数的新构造函数,方法是使用调用或应用方法来调用父构造函数,并将其作为第一个参数传入。

例子

以下是继承在JavaScript中发挥作用的完整工作实例

// Parent constructor function
function Person(name, age) {
   this.name = name;
   this.age = age;
}
// Adding a method to the prototype
Person.prototype.getName = function() {
   return this.name;
};
// Child constructor function
function Employee(name, age, company) {

   // Calling the parent constructor function
   Person.call(this, name, age);
   this.company = company;
}
// Setting the prototype of the child constructor function
Employee.prototype = Object.create(Person.prototype);
Employee.prototype.constructor = Employee;

// Adding a method to the child constructor function
Employee.prototype.getCompany = function() {
   return this.company;
};
const employee1 = new Employee("John", 25, "Google");
console.log(employee1.name); // "John"
console.log(employee1.age); // 25
console.log(employee1.getName()); // "John"
console.log(employee1.getCompany()); // "Google"

在这个例子中,我们有一个名为Person的父构造函数,它接收了一个名字和年龄参数,它还有一个名为getName()的方法,被添加到Person构造函数的原型中。然后,我们有一个名为Employee的子构造函数,它继承了Person构造函数中的属性和方法。Employee构造函数接收了一个额外的公司参数,并且它有一个名为getCompany()的方法,被添加到Employee构造函数的原型中。

所以,总的来说,在JavaScript中,构造函数可以用来创建继承父对象的属性和方法的对象,这可以通过向构造函数的原型对象添加属性和方法来实现,或者通过创建一个新的构造函数来继承现有的构造函数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程