ES6 子类对父类方法的重写

2023-05-23 09:43:50 浏览数 (1)

子类对父类方法的重写的概念

子类对父类方法的重写是指在子类中定义与父类同名的方法,并使用子类的实现来替换父类的方法。当子类调用该方法时,将执行子类的实现而不是父类的实现。这允许子类根据自身的需求来修改或扩展父类的行为。

语法

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的方法实现,输出圆的面积。

通过重写父类的方法,子类可以根据自身的需求来修改或扩展父类的行为。这提供了灵活性和可定制性,使子类能够根据特定的需求进行自定义实现。

0 人点赞