首页 > 编程语言 > 详细

【JavaScript】对象继承

时间:2020-07-20 22:05:46      阅读:68      评论:0      收藏:0      [点我收藏+]

以下内容为学习记录,可以参考 MDN 原文。

环境

  • vscode 1.46
  • Microsoft Edge 83

概念

到目前为止我们已经了解了一些关于原型链的实现方式以及成员变量是如何通过它来实现继承,
但是之前涉及到的大部分都是浏览器内置函数(比如 String、Date、Number 和 Array)。
那么我们如何创建一个继承自另一对象的JavaScript对象呢?

ES2015 在实现继承的方式简单了许多,下面基于 ES2015 实现。

定义 Person

function Person(first, last, age, gender, interests) {
  this.name = {
    first,
    last
  };
  this.age = age;
  this.gender = gender;
  this.interests = interests;
};

定义 Teacher

class Teacher extends Person {
  constructor(first, last, age, gender, interests, subject, grade) {
    super(first, last, age, gender, interests);

    // subject and grade are specific to Teacher
    this.subject = subject;
    this.grade = grade;
  }
}

getter 和 setter

getter 和 setter 在赋值和取值的时候,可以做一些额外的操作。

class Teacher extends Person {
  constructor(first, last, age, gender, interests, subject, grade) {
    super(first, last, age, gender, interests);
    // subject and grade are specific to Teacher
    this._subject = subject;
    this.grade = grade;
  }

  get subject() {
    return this._subject;
  }

  set subject(newSubject) {
    this._subject = newSubject;
  }
}

【JavaScript】对象继承

原文:https://www.cnblogs.com/jiangbo44/p/13347470.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!