es6的classes

es6的classes

  • 组织要领:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
}
    let xs = new Student("宋泽",25);
    console.log(xs);//打印:Student {name: "宋泽", age: 25}。
    //constructor:实例化那些默许属性。
  • 继续:

class Teacher extends Student{
    constructor (name,age,sex){
        super(name,age);
        this.sex=sex;
    }
    eat(){
        console.log(this.name+"is eating")
    }
}
    var ls = new Teacher("先生","30","男");
    console.log(ls);//打印:Teacher {name: "先生", age: "30", sex: "男"}。
    ls.eat();//打印:先生is eating。
    //extends:继续。
    //super:继续属性要领。
    解释:在组织要领里的super是指反类的组织要领。
  • get,set,static:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
    get xm(){
        return this.name+"123";
    }
    set xm(value){
        this.name=value;
    }
    static shangxue (){
        console.log("去念书");
    }
}
    let xs = new Student("宋泽",25);
    console.log(xs.xm);
    xs.xm="大胖";
    console.log(xs.xm);
    Student.shangxue();
    //get:猎取加赋值。
    //set:设置。
    //static:静态要领|类要领。
    //set和get的要领名雷同,而且能够同名
  • 要领重载|要领掩盖:

class Student{
    constructor (name,age){
        this.name=name;
        this.age=age;
    }
    run(){
        console.log("我会跑");
    }
}
    let xs = new Student("宋泽",25);
            
    class Teacher extends Student{
        constructor (name,age,sex){
            super(name,age);
            this.sex=sex;
        }
        eat(){
            console.log(this.name+"is eating")
        }
        run(){
            super.run();
            console.log("我一直在跑");
        }
    }
    var ls = new Teacher("先生","30","男");
    ls.run();//我会跑 我一直在跑;
    解释:虽然子类继续了父类的run要领,然则子类会把父类的要领给掩盖掉,这个就是要领掩盖。
    原文作者:songze
    原文地址: https://segmentfault.com/a/1190000010225069
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞