面向對象的三要素之繼承

  1. 繼承:子類繼承父類。
  2. 封裝:數據的權限保密
  3. 多態:同一接口不一樣實現。 

繼承用的比較多,封裝多態用的比較少。繼承示例代碼:javascript

// 父類
class People {
  // 構造函數,初始化的時候也須要傳什麼東西,而後定義
  constructor(name, age) {
    this.name = name;
    this.age = age;
  }
  eat() {
    alert(`${this.name} eat something`);
  }
  speak() {
    alert(`my name is ${this.name},age ${this.age}`);
  }
}
// 子類繼承父類
class Student extends People {
  constructor(name, age, number) {
    super(name, age); // 將name和age傳遞給父類的構造函數來執行
    this.number = number; // 相比較人來講多了一個屬性學號
  }
  study() {
    alert(`${this.name} study`);
  }
}

var liming = new Student("李明", 25, "A1");
var hanmeimei = new Student("韓梅梅", 25, "A2");

liming.study();
liming.eat();
hanmeimei.study();
hanmeimei.speak();

可知,子類能夠使用父類定義的方法。People類 能夠吃能夠喝,Student類不只能夠吃 能夠喝 還有學習的任務。java

繼承的兩個特色:函數

一、父類是公共的,不單單服務於單個子類。學習

二、繼承可將公共方法抽離出來,提升複用,減小冗餘。this

相關文章
相關標籤/搜索