zoukankan      html  css  js  c++  java
  • 原型继承

    1.借用构造函数:只能继承父类的实例属性,但是可以给父类传递参数,在子类的构造函数中使用SuperType.call(this),将父类的构造函数的this指向改变,这样将父类中的属性变成了子类中的

    2.组合继承:利用原型来实现原型属性的继承(即将实例的prototype的属性指向父类创建的实例),利用构造函数call方法来实现将实例属性的继承。但是问题是可能会遇到原型属性和实例属性相同的情况。

    3.原型式继承:函数内部创建一个构造函数,并可以通过传入函数的参数,来实现构造函数原型的指向,最后返回构造函数实例,(Object.create(),但是所有的创建出来的对象都指向同一个原型,在给原型中的属性添加信息的时候,都会添加到同一个原型对象中。

    4.寄生式继承:创建一个函数,在函数内部,使用原型继承返回的实例,给返回的实例添加一些实例属性。感觉上和原型继承差不多,只是将对实例属性的设置添加到了函数内部

    5.寄生组合式继承:主要是为了解决二次调用父类的构造函数,直接将子类的原型指向父类的原型,改变一下原型的构造函数名,这样可以直接利用子类来创建实例实现父类原型的继承,然后利用call来实现父类的实例属性的继承,这样也就可以减少实力属性的重复继承。

  • 相关阅读:
    Cookie、Session和自定义分页
    logstash 运行
    php json数据保留原样中文
    linux 32位还是64位
    php之isset 与 empty 区别
    php 订单
    个人分类
    laravel 创建自己的函数
    lumen框架导入数据异常
    yum安装samba服务器的安装
  • 原文地址:https://www.cnblogs.com/panjingshuang/p/11614808.html
Copyright © 2011-2022 走看看