zoukankan      html  css  js  c++  java
  • JS高级程序设计学习笔记——继承

      我们知道,在OO语言中,继承可分为接口继承和实现继承。而ECMAScript的函数没有签名,不能实现“接口继承”,只能通过原型链实现“实现继承”。

      在学习了各种继承模式之后,简单总结一下各种继承模式的特点:

      1、原型链继承

        问题:子类实例共享超类属性、不能向超类的构造函数传递参数

      2、借用构造函数

        思想:子类构造函数调用超类构造函数,使用call或apply,那么在实例化子类对象时就会有不同的对象实例,解决了共享超类属性的问题

      3、组合继承(原型链+借用构造函数)

        问题:会两次调用父类构造函数,同时还在子类的prototype中添加了多余的属性

      4、寄生式继承

        思想:与寄生构造函数和工厂模式类似,任何能够返回新对象的函数都适用于此模式,缺点是不能做到函数复用

      5、寄生组合式继承

        思想:集寄生式继承与组合继承的优点于一身,是实现基于类型继承的最有效方式

      

  • 相关阅读:
    团队项目前期冲刺-5
    团队项目前期冲刺-4
    团队项目前期冲刺-3
    团队项目前期冲刺-2
    团队计划会议
    团队项目前期冲刺-1
    大道至简阅读笔记01
    软件工程第八周总结
    梦断代码阅读笔记03
    小组团队项目的NABCD分析
  • 原文地址:https://www.cnblogs.com/tangzhirong/p/5374236.html
Copyright © 2011-2022 走看看