• javascript继承


    //继承
    function Person(name,sex)
    {
       this.name=name;
       this.sex=sex;
    }
    Person.prototype.sayName=function()
    {
       alert(this.name);
    }
    Person.prototype.saySex=function()
    {
       alert(this.sex);
    }
    function Worker(name,sex,job)
    {
        //继承person类 
        Person.call(this,name,sex)  //这里的this指的是Worker类的实例,如下面的'W' ,把W传入Person构造函数,这时W伪装成Person构造函数里的this
        this.job=job;
    }
    
    //Worker.prototype=Person.prototype;//如果这样负值原型,子类的sayJob方法Person父类也会有sayJob方法,因为是引用传递
    
    //改成如下方式则子类不会影响父类:
    for(var i in Person.prototype)
    {
        Worker.prototype[i]=Person.prototype[i];
    }
    
    Worker.prototype.sayJob=function()
    {
       alert(this.job);
    }
    
    var p=new Person('lisi','男');
    //alert(p.sayJob);
    
    var w=new Worker('zhangsan','男','打酱油的');
    w.sayName();
    w.saySex();
    w.sayJob();
  • 相关阅读:
    2019.8.8 python day03
    2019.8.7 python进阶day02
    2019.8.6(python day01)
    2019.8.5
    2019.8.2
    2019.8.1
    2019.7.31
    2019.7.30
    面向对象进阶
    访问可见性问题和@property装饰器
  • 原文地址:https://www.cnblogs.com/zcttxs/p/3070029.html
Copyright © 2020-2023  润新知