JavaScript的类与继承
//父类---动物类
class Animal{
//构造函数,实例化时立即执行
constructor(name,age){
//该类自己的属性
this.name = name;
this.age = age;
}
//类的方法
sayHello(){
console.log("hello"+this.name);
}
}
//子类---狗 (狗是动物属于动物类,但是也有自己独特的行为,也就是属性与方法)
class Dog extends Animal{
//构造函数,实例化时立即执行
constructor(name,age,color){
// 通过super()继承父类的属性
super(name,age);
this.color = color
}
sayColor(){
console.log(this.color);
}
//通过定义域父类相同的方法名来重写父类方法,子类调用时会先查找子类中的方法
//查不到后才去查找父类中的方法,如果子类中存在方法那么就执行子类的方法
sayHello(){
console.log(this.name);
}
}
let dog = new Dog("小黄",3,"黄色");
dog.sayColor()
//继承了父类的方法 sayHello
dog.sayHello()
子类会默认继承父类的方法,通过super(xxx,xxx),子类可以继承父类的属性,作为自己的属性,自己也具有独特的属性如子类中的color