koa 基础(十八)es6中的类、静态方法、继承

1.app.js

/**
 * es6中的类、静态方法、继承
 */
// 定义Person类
class Person {
  constructor(name, age) { /*类的构造函数,实例化的时候执行,new的时候执行*/
    this._name = name;
    this._age = age;
  }
  // 定义方法  注意:在es6里面方法之间没有逗号(,)
  getName() {
    console.log(this._name)
  }
  setName(name) {
    this._name = name;
  }
}

var p = new Person('张三', '20');
p.setName('李四');
p.getName();

// 继承
class People {
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  getInfo() {
    console.log(`姓名:${this.name} 年龄:${this.age}`)
  }
  run() {
    console.log('run')
  }
  static work() { /*静态方法*/
    console.log('这是es6里面的静态方法');
  }
}

People.instance = '这是一个静态方法的属性';
People.work(); /*调用es6里面的静态方法*/

class Web extends People { // 继承了 People
  constructor(name, age, sex) {
    super(name, age); /*实例化子类的时候把子类的数据传给父类*/
    this.sex = sex; /*属性*/
  }
  print() { /*实例方法*/
    console.log(this.sex)
  }
}

var w = new Web('张三', '30', '男');
w.print();

.

原文地址:https://www.cnblogs.com/crazycode2/p/10928346.html