程序中的繼承: 子類能夠繼承父類的一些屬性和方法javascript
class Father { //父類 constructor () { } money () { console.log(100) } } class Son extends Father { //子類繼承父類 } let son = new Son() son.money() // 100 son.
super關鍵字用於訪問和調用對象父類上的函數,能夠經過調用父類的構造函數,也能夠調用父類的普通函數java
class Father { //父類 constructor (x, y) { this.x = x this.y = y } money () { console.log(100) } sum () { console.log(this.x + this.y) } } class Son extends Father { //子類繼承父類 constructor (x, y) { super(x, y) //調用了父類中的構造函數 } } let son = new Son(1,2) son.sum() // 3 son.
繼承的特色:es6
class Father { say() { return '我是父元素' } sing() { return '父元素唱一首歌' } } class Son extends Father { say() { console.log('我是子元素') } sing() { console.log(super.sing()) } } var son = new Son() son.say() //我是子元素 son.sing() //
子元素能夠繼承父元素的方法的同時,子元素也能夠擴展本身的其餘方法,子類在構造函數中用super調用父類的構造方法時候,必須放在子類的this以前調用函數
class Father { constructor(x, y) { this.x = x this.y = y } sum() { console.log(this.x + this.y) } } class Son extends Father { constructor(x,y) { //利用super 調用父類的構造函數 super(x,y) this.x = x this.y = y } subtract() { console.log(this.x - this.y) } } let son = new Son(5,3) son.subtract() // 2 son.sum() //8