繼承用的比較多,封裝多態用的比較少。繼承示例代碼: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