技术文摘
ES6 中子类继承父类方法:super 关键字与方法重写的工作原理
2025-01-09 14:58:53 小编
在 ES6 的面向对象编程中,子类继承父类方法是一个重要特性,其中 super 关键字与方法重写发挥着关键作用,深入理解它们的工作原理对开发者至关重要。
我们来看看 super 关键字。super 关键字在子类构造函数中用于调用父类的构造函数。当创建子类实例时,子类构造函数必须先调用 super() 才能使用 this 关键字。这是因为在子类构造函数内部,this 的初始化依赖于父类构造函数的执行。例如:
class Parent {
constructor(name) {
this.name = name;
}
}
class Child extends Parent {
constructor(name, age) {
super(name);
this.age = age;
}
}
let child = new Child("Tom", 10);
console.log(child.name);
console.log(child.age);
在上述代码中,子类 Child 的构造函数通过 super(name) 调用了父类 Parent 的构造函数,将 name 传递给父类进行初始化,然后再进行自身特有的属性 age 的初始化。
而方法重写则是子类对从父类继承来的方法进行重新定义。当子类中定义了与父类同名的方法时,就实现了方法重写。在重写的方法中,我们还可以使用 super 关键字来调用父类的原始方法。比如:
class Parent {
sayHello() {
console.log("Hello from Parent");
}
}
class Child extends Parent {
sayHello() {
super.sayHello();
console.log("Hello from Child");
}
}
let child = new Child();
child.sayHello();
在这个例子中,子类 Child 重写了父类 Parent 的 sayHello 方法。在 Child 的 sayHello 方法中,首先通过 super.sayHello() 调用了父类的原始方法,然后再输出自己的信息。
super 关键字在 ES6 子类继承父类方法中扮演着桥梁的角色,它确保了子类与父类之间构造函数的正确调用和方法的关联。而方法重写则为子类提供了定制化行为的能力,使代码更加灵活和可扩展。掌握 super 关键字与方法重写的工作原理,能帮助开发者编写出更高效、更具维护性的面向对象代码。
- JavaScript 实现搜索框联想功能的方法
- HTML教程:用Grid布局实现栅格平均网格布局
- 纯CSS实现响应式导航栏下拉框效果步骤
- HTML教程:运用Grid布局达成栅格布局
- Uniapp 中房屋租赁与房产买卖功能的实现方法
- Uniapp 实现美食推荐与订餐服务的方法
- 深度解析 CSS 维度属性:height 与 width
- uniapp应用实现智能停车与停车场管理的方法
- JavaScript 实现多级下拉菜单功能的方法
- Uniapp应用中放映时间与电影排片的实现方法
- CSS字符换行属性详解:word-wrap与hyphens
- JavaScript 实现滚动到指定元素位置功能的方法
- CSS布局实现堆叠卡片效果的最佳技巧实践
- CSS图片过渡属性全解析:transition与background-image
- CSS 文本属性优化秘籍:字体、行高与文本对齐