zoukankan      html  css  js  c++  java
  • Javascript高级程序设计——面向对象小结

    ECMAScript支持面向对象编程,对象可以在代码执行时创建,具有动态扩展性而非严格意义上的实体

    创建对象方法:

    1. 工厂模式:简单的函数创建引用类型
    2. 构造函数模式:可以创建自定义引用类型,可以想创建内置对象一样使用new操作符,构造函数的函数无法得到复用,不能共享函数。
    3. 原型模式:利用构造函数的prototype属性来指定共享的属性和方法,组合使用构造函数和原型模式时,使用构造函数定义实例属性,原型模式来共享方法。

    javascript主要通过原型链实现继承,将一个类型的实例赋值给另一个原型对象实现继承。这样子类就可以访问超类的方法和属性。要注意原型链共享所有继承的属性和方法,引用类型时会出先问题,解决方法是通过借用构造函数来实现,在子类构造函数内部调用父类的构造函数实现继承父类的属性,使用最多方法是组合式继承,通过原型继承方法,通过构造函数继承实例属性。

    1. 原型式继承:基于对象创建对象,执行对给定类型浅复制。
    2. 寄生式继承:基于对象创建对象然后内部增强。
    3. 寄生组合继承:寄生式继承与组合继承优点集合,实现继承的有效方法。
  • 相关阅读:
    拓扑排序
    Codeforces #503 C. Elections(贪心,逆向
    Codeforces #367 (Div. 2) D. Vasiliy's Multiset (trie 树)
    字典树
    最大子段和
    P1880 [NOI1995] 石子合并
    P1140 相似基因
    P1280 尼克的任务
    [BZOJ4064/Cerc2012]The Dragon and the knights
    [BZOJ4066]简单题
  • 原文地址:https://www.cnblogs.com/yangxunwu1992/p/4780567.html
Copyright © 2011-2022 走看看