zoukankan      html  css  js  c++  java
  • 寄生组合式继承

    <script>
        /*
            *寄生式继承 继承原型
            *传递参数 subClass    子类
            *传递参数 superClass 父类
        */
        //宿主
        function inheritObject(o){
            function fn(){}
            fn.prototype = o;
            return new fn
        }
        //继承转换原型和构造函数
        function inheritPrototype(subClass,superClass){
            var p = inheritObject(superClass.prototype);
            p.constructor = subClass;
            subClass.prototype = p;
        }
        //父级构造函数
        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;
        }
        //子级继承父级的原型
        //先函数转换,然后进行实例化
        //或者先实例化,然后用__proto__属性进行转换(__proto__不建议使用)
        inheritPrototype(subClass,superClass);
        //给子级原型添加功能
        subClass.prototype.getTime = function(){
            console.log(this.time);
        }
        var b1 = new subClass('car',2018);
        console.log( b1 );
        b1.getName();
      </script>
  • 相关阅读:
    java基础2(Map)
    java基础1
    数据类型
    入门&常量&变量
    spark 机器学习 朴素贝叶斯 原理(一)
    spark 机器学习 knn 代码实现(二)
    spark 机器学习 knn原理(一)
    spark 机器学习 ALS原理(一)
    数学符号表及读法
    spark 机器学习基础 数据类型
  • 原文地址:https://www.cnblogs.com/jokes/p/9592716.html
Copyright © 2011-2022 走看看