子类对父类方法的重写的概念
子类对父类方法的重写是指在子类中定义与父类同名的方法,并使用子类的实现来替换父类的方法。当子类调用该方法时,将执行子类的实现而不是父类的实现。这允许子类根据自身的需求来修改或扩展父类的行为。
语法
ES6中子类对父类方法的重写的语法非常简单。在子类中,定义与父类同名的方法,并提供子类自己的实现。当子类调用该方法时,将执行子类的实现。
示例代码如下所示:
代码语言:javascript复制class ParentClass {
methodName() {
// 父类方法的实现
}
}
class ChildClass extends ParentClass {
methodName() {
// 子类方法的实现,替换了父类的方法实现
}
}
在上述代码中,ChildClass
继承自ParentClass
,并重写了父类的methodName()
方法。当我们创建ChildClass
的实例并调用methodName()
时,将执行子类的方法实现。
示例
让我们通过示例来理解子类对父类方法的重写。
代码语言:javascript复制class Shape {
calculateArea() {
console.log('Calculating area of the shape...');
}
}
class Circle extends Shape {
calculateArea() {
const radius = 5;
const area = Math.PI * radius * radius;
console.log(`Area of the circle: ${area}`);
}
}
const circle = new Circle();
circle.calculateArea(); // 输出:Area of the circle: 78.53981633974483
在上述示例中,我们定义了一个Shape
类,它有一个方法calculateArea()
用于计算形状的面积。然后,我们定义了一个Circle
类,它继承自Shape
类,并重写了calculateArea()
方法。
在Circle
类的calculateArea()
方法中,我们使用固定的半径值来计算圆的面积,并输出结果。当我们创建Circle
类的实例并调用calculateArea()
方法时,将执行子类Circle
的方法实现,输出圆的面积。
通过重写父类的方法,子类可以根据自身的需求来修改或扩展父类的行为。这提供了灵活性和可定制性,使子类能够根据特定的需求进行自定义实现。