zoukankan      html  css  js  c++  java
  • 原型继承-------------------

        function per(name,age){
            this.name=name;
            this.age=age;
    
        }
        per.prototype={
            id:10,
            class:'top',
        }
        function by(sex){
            this.sex=sex;
        }    
        by.prototype=new per('z2',20);
        var p1=new by();
        alert(p1.name);
        alert(p1.id+'
    '+p1.class);
    //特点:即继承了父类的模板,又继承了父类的原型对象
    //构造函数式继承
    //只继承模板,不继承原型对象
    类继承方式
    function per(name,age){
            this.name=name;
            this.age=age;
    
        }
        per.prototype={
            id:10,
            class:'top',
        }
        function by(name,age,sex){
            per.call(this,name,age);
            this.sex=sex;
        }
        var p1=new by('张三',20,'男');
        
        alert(p1.name);
        //父类的原型对象没有继承过来
        alert(p1.id);   //undefined

    原型继承+借用构造函数继承=混合继承

        //父类
        function per(name,age){
            this.name=name;
            this.age=age;
    
        }
        per.prototype={
            id:10,
            class:'top',
            say:function(){
                alert('吃');
            }
        }
        //子类
        function by(name,age,sex){
        //如果下面使用了原型继承by.prototype=new per();
        //这个就没有必要写了per.call(this,name,age);
            per.call(this,name,age); //继承父类的模板
            this.sex=sex;
        }
        //只剩下父类实例和父类原型对象的关系了,下面这句话就是为了继承父类原型的对象
        //原型继承方式
        by.prototype=new per();
        var p1=new by('张三',20,'男');
        alert(p1.name+'
    '+p1.id);
  • 相关阅读:
    java List转换为字符串并加入分隔符的一些方法总结
    jackson 实体转json 为NULL或者为空不参加序列化
    马云告别演讲
    Linux chmod命令
    Linux执行shell脚本的方法
    2019第36周日
    2019第36周六
    eclipse中的maven插件
    SpringBoot要点之使用Actuator监控
    eclipse隐藏的列编辑
  • 原文地址:https://www.cnblogs.com/null11/p/5670977.html
Copyright © 2011-2022 走看看