class Animal{ //- Animal 是一个 父类 (superclass)。
alive = true; //它有属性 alive
//它有和方法 eat() / sleep()。
eat(){
console.log(`This ${this.name} is eating`);
}
sleep(){
console.log(`This ${this.name} is sleeping`);
}
}
//然后写了子类, 这三个类都不用重复写 eat() 和 sleep(),因为它们已经从Animal继承了这些方法。
class Rabbit extends Animal{
name = "rabbit"; //- Rabbit 继承了 Animal,所以 Rabbit 也有 alive、eat()、sleep()。
}
class Fish extends Animal{
name = "fish"
}
class Hawk extends Animal{
name = "hawk"
}
const rabbit = new Rabbit();
const fish = new Fish();
const hawk = new Hawk();
fish.alive = false;
console.log(rabbit.alive);
console.log(fish.alive);
rabbit.eat();
rabbit.sleep();
extends👉 表示这个类是另一个类的子类。