js中class的多态
时间: 2023-10-31 11:59:39 浏览: 108
在JavaScript中,class的多态是指当不同的对象实例通过相同的方法调用时,会根据实际对象的类型执行不同的操作。这意味着相同的方法名称可以应用于不同的对象,并且根据对象的类型来决定具体执行哪个对象的方法。
下面是一个示例来说明JavaScript中class的多态性:
```javascript
class Animal {
constructor(name) {
this.name = name;
}
sound() {
console.log("Animal makes a sound");
}
}
class Cat extends Animal {
sound() {
console.log("Cat makes a meow");
}
}
class Dog extends Animal {
sound() {
console.log("Dog makes a woof");
}
}
const animal = new Animal("Animal");
const cat = new Cat("Cat");
const dog = new Dog("Dog");
animal.sound(); // 输出 "Animal makes a sound"
cat.sound(); // 输出 "Cat makes a meow"
dog.sound(); // 输出 "Dog makes a woof"
```
在这个示例中,Animal类是一个基类,而Cat和Dog类是继承自Animal的子类。它们都有一个名为sound的方法,但是每个子类的sound方法实现不同。当通过不同的实例调用sound方法时,实际执行的方法会根据实例的类型而有所不同,这就是class的多态性在JavaScript中的体现。
总结:在JavaScript中,通过使用class可以实现继承和多态,使不同对象实例可以根据实际类型执行不同的方法。
阅读全文