JavaScript 继承 (Inheritance)

2025年4月2日 | 阅读4分钟

JavaScript 中的继承是什么?

继承是一种方法,通过该方法,对象可以从其他对象继承属性和方法。通过使用它,我们可以重用代码并构建对象之间的关系结构,还可以创建层级结构,其中子对象可以访问父对象的属性和功能。

简单来说,我们使用继承来将特征从父级传递给子级,以便可以重用新代码并基于现有代码的功能进行构建。

JavaScript 继承是一种机制,它允许我们基于现有类创建新类。它允许子类重用父类的成员和变量。

JavaScript 的 `extends` 关键字用于基于父类创建子类。它方便子类获取其父类的所有属性和行为。

在 JavaScript 中实现继承有许多方法,例如:

  • 原型继承
  • 类式继承
  • 函数式继承

原型继承

当一个对象继承另一个对象的原型时。我们可以从该原型继承方法和属性,因为每个对象都有一个原型。我们可以通过以下方式在 JavaScript 中实现原型继承:

示例

输出

Woof! Woof!

类式继承

ECMAScript 6 引入了 `Class` 关键字来实现类式继承,采用了与 Java 和 C++ 类似的 pendekatan。让我们探讨如何在 JavaScript 中实现类式继承。

示例

输出

Supra has  1998 cc engine

函数式继承

在 JavaScript 中,对象可以通过函数构造函数来继承其他对象的属性和方法。我们可以使用函数来创建对象并建立它们之间的关系。让我们看看如何在 JavaScript 中实现函数式继承:

构造函数重写

当我们在 JavaScript 中扩展类时,我们可能希望使用 `super` 关键字重写构造函数,它将调用父构造函数。

示例

输出

Meow Meow!

注意事项

  • 它维护一种“is-a”关系。
  • `extends` 关键字用于类表达式或类声明。
  • 使用 `extends` 关键字,我们可以获取内置对象以及自定义类的所有属性和行为。
  • 我们也可以使用基于原型的 pendekatan 来实现继承。

继承的用途

我们可以让子类继承父类的所有属性和功能,这允许我们重用代码。

当一个功能开发完成后,我们可以直接继承其属性。我们不需要重复造轮子。它可以使代码更清晰,并且更容易维护。

我们可以在子类中添加自己的功能,这有助于我们只继承定义所需功能的必要属性和方法。

通过使用继承,我们可以将数据组织成层级结构。

通过使用继承,我们可以使代码更易于调试。

JavaScript 继承的优点

在 JavaScript 中使用继承有一些好处,例如:

减少代码重复

通过使用继承,我们可以让派生类重用基类中定义的代码属性和方法,这有助于我们减少代码重复。

更快的开发

当我们重用现有代码时,它将提高开发速度,因为开发人员无需花费时间测试和编写通用功能的代码。他们可以专注于派生类的独特方面,从而简化流程并节省时间。

一致性

它还促进了软件程序内部的一致性,因为它确保所有派生类使用相同的基类,并具有一组标准的属性和方法。

资源使用优化

如果我们重用现有代码,继承使用户能够优化 CPU 时间和内存使用等资源,从而实现更高效的软件程序。

更轻松的调试和故障排除

通过结构良好的类层级结构,开发人员可以轻松地识别程序中的问题并解决它们,因为他们已经了解通用功能的位置。通过使用继承,在这种有组织的系统中,调试和故障排除变得不那么复杂。

可扩展性

通过使用它,我们可以促进可扩展性,因为只需很少的努力就可以将新类添加到现有的类层级结构中。新类可以继承基类的属性和方法,并根据需要集成新的或独特的功能。

总之,继承有助于我们大大提高代码的可重用性、易维护性和易修改性。如果我们创建一个结构良好的类层级结构并重用现有代码,开发人员就可以生产出更高效、更一致、更具可扩展性的软件应用程序,这些应用程序易于维护和修改。


下一主题JS 多态