📜  javascript原型继承示例 - Javascript(1)

📅  最后修改于: 2023-12-03 14:42:41.220000             🧑  作者: Mango

JavaScript 原型继承示例

在 JavaScript 中,我们可以使用原型继承来实现对象之间的继承关系。原型继承是指新创建的对象可以继承现有对象的属性和方法,这个现有对象就是被继承的原型。

下面是一个简单的 JavaScript 原型继承示例:

// 定义一个人的原型对象
var Person = function (name, age) {
  this.name = name;
  this.age = age;
};
Person.prototype.sayHello = function () {
  console.log('Hello, my name is ' + this.name + ', and I am ' + this.age + ' years old.');
};

// 定义一个学生的原型对象,继承自人的原型对象
var Student = function (name, age, grade) {
  Person.call(this, name, age);
  this.grade = grade;
};
Student.prototype = Object.create(Person.prototype);
Student.prototype.constructor = Student;
Student.prototype.sayHello = function () {
  console.log('Hello, my name is ' + this.name + ', and I am ' + this.age + ' years old. I am in ' + this.grade + ' grade.');
};

// 创建一个学生对象,调用 sayHello 方法
var student = new Student('Tom', 10, '5th');
student.sayHello();

代码说明:

  1. 定义了一个 Person 构造函数,它有两个属性 name 和 age,以及一个 sayHello 方法,输出个人信息。
  2. 定义了一个 Student 构造函数,它继承自 Person 构造函数,增加了一个 grade 属性,重写了父类的 sayHello 方法。
  3. 创建了一个 Student 对象,调用 sayHello 方法输出个人信息。

代码输出:

Hello, my name is Tom, and I am 10 years old. I am in 5th grade.

这是一个简单的 JavaScript 原型继承示例,使用原型继承可以方便地实现对象之间的继承关系,避免了传统继承方式中定义多个子类的麻烦。