1.class继承的实现
2.super关键字
3.方法的重写
<script>
//es5
function Animal(name,colr){
this.name = name;
this.color = color;
}
Animal.prototype.eat = function(){
console.log(this.name ="is eating" );
}
Animal.prototype.sleep = function(){
console.log(this.name = "is sleeping");
}
//es6:更简洁、直观
class Animal{
constructor(name,color){
this.color = color;
}
eat(){
console.log(this.name+"is eating");
}
sleep(){
console.log(this.name+"is sleep");
}
}
class Rabbit extends Animal{
constructor(name,color,age){
//子类中通过super调用父类的构造函数,一定要放在第一行
// super访问父类的方法
super(name,color);
this.age = age;
}
//子类通过定义同名的方法覆盖父类中的方法,当子类对象调用的时候,优先执行子类自己拥有的方法
eat(){
console.log("露出了常常的牙齿")
}
test(){
//通过super关键字,调用父类对象中的方法
super.eat();
}
}
let rab = new Rabbit("兔八哥","白色",10);
rab.eat();
rab.sleep();
rab.tast();
console.log(rab);
</script>
《待更新》