程序中的继承: 子类能够继承父类的一些属性和方法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