用到的关键字
- class
- constructor
- super
- extend
示例
class son {
constructor(name, age) {
this.name = name
this.age = age
}
}
const Alan = new son('Alan', 18)
console.log(Alan);//son { name: 'Alan', age: 18 }
class father {
constructor(name, wife) {
this.name = name
this.wife = wife
}
}
const Json = new father('Json', "Rosie")
console.log(Json);//father { name: 'Json', wife: 'Rosie' }
//
现在问题: 怎么才能不重复共同属性name 或者说 怎么把这个共同属性提取
出去
方法
:继承 也就是标题所说的
// 现在问题: 共同有name 怎么才能不重复共同属性name 或者说 怎么把这个共同属性<<<提取>>出去
// 方法 继承
class Person {
constructor(name) {
this.name = name
}
}
// super 和 extends 登场
class son extends Person {
constructor(name, age) {
super(name)
this.age = age
}
}
const Alan = new son('Alan', 18)
console.log(Alan);//son { name: 'Alan', age: 18 }
class father extends Person {
constructor(name, wife) {
super(name)
this.wife = wife
}
}
此时的效果一样
同样的,如果在Person 写一个函数 同样在son 和 father 中可以继承这个函数