js 中, abstract 的作用
时间: 2024-06-14 20:08:06 浏览: 7
在JavaScript中,"abstract"是一个关键字,用于定义抽象类或抽象方法。抽象类是一种不能被实例化的类,它只能被继承。抽象方法是在抽象类中声明但没有实现的方法,它必须在子类中被实现。
抽象类提供了一种将相关的方法和属性组织在一起的方式,它可以作为其他类的基类。通过将方法标记为抽象,可以强制子类实现这些方法,从而确保子类具有特定的行为。
以下是一个使用抽象类和抽象方法的示例:
```javascript
abstract class Animal {
constructor(name) {
this.name = name;
}
abstract makeSound(); // 抽象方法
eat() {
console.log(`${this.name} is eating.`);
}
}
class Dog extends Animal {
makeSound() {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog("Buddy");
dog.makeSound(); // 输出:Buddy barks.
dog.eat(); // 输出:Buddy is eating.
```
在上面的例子中,Animal类是一个抽象类,它有一个抽象方法makeSound()和一个普通方法eat()。Dog类继承自Animal类,并实现了makeSound()方法。通过创建Dog类的实例,我们可以调用makeSound()和eat()方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)