寄生组合式继承

Posted dianzan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了寄生组合式继承相关的知识,希望对你有一定的参考价值。

  function inherObj(o){
      function F(){}
      F.prototype=o;
      return new F();
    }
    function inherPro(SubClass,SuperClass){
      var p = inherObj(SuperClass.prototype);
//这一步是为了把构造函数指向SubClass实际对象 p.constructor
= SubClass; SubClass.prototype=p; } var book={ name:js book, alikeBook:[css book,html book] }; function SuperClass(name){ this.name=name; this.colors=[red,blue,green]; } SuperClass.prototype.getName=function(){console.log(this.name)}; function SubClass(name,time){ SuperClass.call(this,name); this.time=time; } inherPro(SubClass, SuperClass);//这一步就是用SubClass的原型去继承SuperClass的原型,继承的核心代码 SubClass.prototype.getTime=function(){ console.log(this.time); }
//如果子类想重写父类,那就自己覆盖父类同名属性
      // SubClass.prototype.getName = function () { console.log(this.name,‘重写‘) };
var ins1 = new SubClass(js book, 2014);
    var ins2 = new SubClass(css book,2013);

与java逻辑相同

就是继承父类,然后子类可以扩展父类

技术图片

https://www.cnblogs.com/aaronchu/p/6168378.html

 

以上是关于寄生组合式继承的主要内容,如果未能解决你的问题,请参考以下文章

JS手写面试题 --- 寄生组合继承

JSJavaScript继承 - 原型链 - 盗用构造函数 - 组合继承 -原型式继承 - 寄生式继承 - 寄生式组合继承

寄生组合继承

Javascript继承6:终极继承者----寄生组合式继承

JavaScript继承基础讲解,原型链借用构造函数混合模式原型式继承寄生式继承寄生组合式继承

JavaScript之原型式继承&寄生式继承和寄生组合式继承以及优缺点