koa 基礎(十八)es6中的類、靜態方法、繼承

1.app.jsjavascript

/**
 * 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();

.java

相關文章
相關標籤/搜索