Skip to content

继承(Inheritance)

定义

子类型基于父类型获得属性与方法,并可 重写(override)扩展,减少重复代码。

在 JavaScript 中的实现方式

  1. ES6 class ... extends(推荐书写方式)
  2. 原型链Sub.prototype = Object.create(Super.prototype) 等(历史写法)

构造函数继承实例属性时,常在子类构造函数中调用 super()

注意点

  • 不要在子类构造函数中于 super() 之前访问 this
  • 深度继承层次过多会增加理解与调试成本,可组合 组合优于继承(composition)。