类继承中的super
<script>
// super 关键字调用父类普通函数
//注意点:
// 继承中的属性或者方法查找原则: 就近原则
// 1. 继承中,如果实例化子类输出一个方法,先看子类有没有这个方法,如果有就先执行子类的
// 2. 继承中,如果子类里面没有,就去查找父类有没有这个方法,如果有,就执行父类的这个方法(就近原则)
//Father父类
class Father{
//constructor存放属性时,必不可少
constructor(name,age){
this.name=name;
this.age=age;
}
//return将返回结果给say()
say(){
return "fathers"
}
}
// A extends B,---extends表示继承父级的相关内容,A继承B,Son继承Father
//Son子类
class Son extends Father{
constructor(name,age,sex){
super(name,age)
this.sex=sex;
}
ha(){
//super.say()就是调用父级中的普通方法,即函数say()
console.log("I am"+super.say()+"baby");
}
}
//通过new实例化对象,几个new,几个实例对象,且都是不同
var p=new Son('张三',18,'男');
console.log(p);//name=张三,age=18,sex=男
console.log(p.name);//张三
p.ha()//I am fathers baby
</script>