【问题标题】:Does prototypical inheritance in JavaScript demonstrate type polymorphism?JavaScript 中的原型继承是否展示了类型多态性?
【发布时间】:2015-04-17 10:09:29
【问题描述】:

是否可以说 JavaScript 中的原型继承演示了类型多态性?

还是 JavaScript 的弱类型排除了这一点?

function Parent () {}

function Child () {}
Child.prototype = Object.create(Parent.prototype);
Child.prototype.constructor = Child;

// Is Child a polymorphic implementation of Parent?

【问题讨论】:

  • 在javascript中,您可以随时将任何属性更改为任何类型。
  • 这是否排除了类型多态性?在某种意义上,Child 在我的示例中是 Parent
  • 我已经有一段时间没有在教室里了,但对我来说这听起来更像是基本的子打字......

标签: javascript oop polymorphism


【解决方案1】:

是的,Javascript 使用构造函数和原型设计来引入它缺少的东西,因为它缺少类。

即使不了解构造函数和原型,您也可以使用 JavaScript 做很多事情,但这些对于很好地驾驭这种强大的语言至关重要。

使用构造函数和原型允许 Javascript 为其对象带来类似的顺序,就像类为其他语言带来的顺序一样。但并不是原型的每一种用法都等同于继承和多态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2023-03-16
    • 2017-09-02
    • 1970-01-01
    • 2021-09-04
    • 2015-10-14
    相关资源
    最近更新 更多