一直没搞懂class extents super contructor,这次终于搞懂了,话不多说,直接上代码。
1、首先我创建一个Person的类,里面name age是它的属性,eat是它的方法:
class Person {
constructor(name,age){
this.name = name;
this.age = age;
}
eat = () => {
console.log("i can eat.")
}
}
2、我们可以这样创建实例,并且输出打印结果:
const jenny = new Person("jenny",23);
console.log(jenny.name);//jenny
console.log(jenny.age);//23
jenny.eat();//i can eat.
3、然后我再创建一个Student的类,继承Person,这就要用到extents和super了。除了从Person继承的属性和方法,Student还有它自己的number属性和study方法:
class Student extends Person{
constructor(name,age,number){
super(name,age);
this.number = number;
}
study = () =>{
console.log(`there r ${this.number} girls`);
}
}
4、接下来我们创建一个Student实例:
const girls = new Student("babe",18,30);
console.log(girls.name);//babe
console.log(girls.age);//18
console.log(girls.number);//30
girls.study();//there r 30 girls
看起来super是调用了父类的构造函数和方法-.-