zoukankan      html  css  js  c++  java
  • JS:继承

    继承

       原型链实现了继承,但无法传参和共享

              function Box(){          //Box()构造函数
                         this.name = "lee";
                     }
    
                     function Desk(){        //Desk()构造函数
                         this.age = 100;
                     }
    
                     Desk.prototype = new Box();  //通过原型Desk()继承了Box()
                     Desk.prototype.age = 200;//对应第255行
                     
    
                     var desk = new Desk();
                     alert(desk.age);
                     alert(desk.name); //undefind, 对应第220行
    
                     function Table(){
                         this.level = "cccc";
                     }
    
                     Table.prototype = new Desk();
    
    
                     var table = new Table();
                     alert(table.name);

    原型链+构造函数的模式,称为组合继承,解决了传参和共享的问题,常用此方法。

              function Box(age){
                         this.name = ["ll","cc","kk"];
                         this.age = age;
                     }
    
                     Box.prototype.run = function(){
                         return this.name + this.age;
                     }
    
                     function Desk(age){
                         Box.call(this,age);//this表示Desk. 对象冒充,给父类传参,解决了传参问题
                     }
    
                     Desk.prototype = new Box(); //原型链继承,解决了共享问题
    
                     var desk = new Box(120);
                     //alert(desk.age);//20
                     //alert(desk.name); //llcckk
                     desk.name.push("00");
                     //alert(desk.name); //llcckk00
                     alert(desk.run());

    对象冒充 解决了传参问题

      为了结局引用共享和超类型无法传参的问题,我们采用一种叫借用构造函数的技术,或者成为对象冒充(伪造对象,经典继承)的技术来解决这两种问题。

      

  • 相关阅读:
    JChartFree创建饼形图
    JFreeChart设置点的颜色
    JChartFree使用散点图
    JChartFree常用数据集
    博客园安家了
    在Android中什么是异步执行;
    XmlPullParserException
    构造器的执行顺序
    Sqlite之contentProvider
    使用java获取歌曲的属性
  • 原文地址:https://www.cnblogs.com/wine/p/5017141.html
Copyright © 2011-2022 走看看