js中的复写是什么意思
时间: 2024-04-22 09:26:06 浏览: 8
在 JavaScript 中,复写(Override)指的是通过重父类的方法或属性,来改变子类或派生类中相应方法或属性的行为。
当一个对象从一个类继承时,它会继承父类的方法和属性。但是,有时候我们可能希望在子类中对继承的方法或属性进行修改,以适应特定的需求。这就是复写的概念。
在复写过程中,子类可以重新定义父类已有的方法或属性,并且赋予它们新的实现或值。这样,在通过子类创建的对象调用这些方法或属性时,会执行子类中的实现。
以下是一个简单的示例,展示了如何在 JavaScript 中进行方法复写:
```javascript
class Animal {
sound() {
console.log("Animal makes a sound");
}
}
class Cat extends Animal {
sound() {
console.log("Cat meows");
}
}
const cat = new Cat();
cat.sound(); // 输出 "Cat meows"
```
在这个例子中,`Animal` 类有一个 `sound` 方法,它打印出 "Animal makes a sound"。`Cat` 类继承了 `Animal` 类,并复写了 `sound` 方法,将其实现改为打印 "Cat meows"。当我们通过 `cat` 对象调用 `sound` 方法时,输出的是子类 `Cat` 中复写后的实现。
需要注意的是,复写只能发生在继承关系中,子类可以复写父类的方法或属性,但父类不能复写子类的方法或属性。