美文网首页
Javascript 类继承模板

Javascript 类继承模板

作者: 蓝点工坊 | 来源:发表于2017-06-07 18:05 被阅读8次

    问题背景

    Javascript 与 Python 两种语言越来越象,但是 Python 语言里有一个优点有 class 关键字,可以用系统标准的方法来定义和继承. 但是 Javascript 无此关键字,只能用 function 来间接实现类和继承. 因此方法五花八门.初学者往往无所适从. 这里有一套标准模板,可以适应大部分情况.

    类模板

    //基类声明
    function Person(age,name){
       this.Age = age;              //类属性
       this.Name = name;        //类属性
    
       // 定义类方法之一
        this.sayHello = function() {
            alert('Person say Hello');
        }
    }
    
    //定义类方法二:
    Person.prototype.run = function() {
        alert('Person run');
    }
    
    
    //子类声明
    function Worker(height,name){
       Person.call(this,18,name); //调用父类的构造函数,注意用 call 并把 this 指针传入,相当于让 Person()对 Worker()初始化属性
       this.height = height;  //子类新增属性
    
         // 定义类方法之一,注意这里与基类重名,表示重载方法
        this.sayHello = function() {
            alert('Work say Hello');
        }
    }
    Worker.prototype = new Person; //继承关键复制基类所有方法和属性,这里不需要参数
    //子类扩展方法
    Worker.prototype.doWork = function() {
        alert('Woker work');
    }
    
    
    
    

    测试

    var worker = new Worker(180,'Tom');
    worker.sayHello();  //执行子类方法
    alert(worker.Name); //打印'Tom',
    

    相关文章

      网友评论

          本文标题:Javascript 类继承模板

          本文链接:https://www.haomeiwen.com/subject/hikafxtx.html