继承之组合继承

组合原型链借用构造函数

设计思想:
1.使用原型链实现对原型属性和方法的继承:Man3.prototype = new Person3();
2.使用借用构造函数实现对实例属性的继承:子构造函数内:Person.call(this, params);

function Person3(params) {
  // todo:私有属性
}

// 复用方法
Person3.prototype.fn = function() {
  // todo:
}

function Man3(params) {
  // 借用构造函数继承实例属性
  Person3.call(this, params);

  // todo:私有属性定义
}

// 原型链继承原型属性和方法
Man3.prototype = new Person3();

var man3 = new Man3();

优点:避免了原型链和借用构造函数的缺陷,融合了它们的优点, 成为了JavaScript最常用的继承模式。

你可能感兴趣的:(继承之组合继承)