当前位置: 首页 > 面试题库 >

ES6类多重继承

东门子昂
2023-03-14
问题内容

我已经在BabelJS和MDN(根本没有任何信息)上完成了大部分研究工作,但是请随时告诉我是否在寻找有关ES6Spec的更多信息时不够谨慎。

我想知道ES6是否以与其他鸭子类型语言相同的方式支持多重继承。例如,我可以做类似的事情:

class Example extends ClassOne, ClassTwo {
    constructor() {
    }
}

将多个类别扩展到新类别?如果是这样,相对于ClassOne,解释器会更喜欢ClassTwo的方法/属性吗?


问题答案:

一个对象只能有一个原型。通过创建一个父对象作为两个父原型的组合,可以完成从两个类的继承。

子类化的语法使得在声明中可以做到这一点,因为extends子句的右侧可以是任何表达式。因此,您可以编写一个根据喜欢的条件组合原型的html" target="_blank">函数,然后在类声明中调用该函数。



 类似资料:
  • 问题内容: 我已经在BabelJS和MDN(根本没有任何信息)上完成了大部分研究工作,但是请随时告诉我是否在寻找有关ES6Spec的更多信息时不够谨慎。 我想知道ES6是否以与其他鸭子类型语言相同的方式支持多重继承。例如,我可以做类似的事情: 将多个类别扩展到新类别?如果是这样,相对于ClassOne,解释器会更喜欢ClassTwo的方法/属性吗? 问题答案: 一个对象只能有一个原型。通过创建一个

  • 为了说明这一点,我们创建一个动物园应用,其中创建鸟类。在经典继承中,我们定义一个基类,然后将其子类化以创建一个派生类。 类定义了Penguin类继承的方法walk,并且可以被Penguin对象的实例使用。 同样,Penguin类定义了不能用于Bird对象的方法swim。 继承从上到下从基类到它的子类。 对象初始化 对象创建的顺序从它的基类开始,然后向下移动到任何子类。 // JavaScript

  • 问题内容: 通过使用抽象类,我们可以实现与接口相同的功能,那么为什么Java不允许以下代码? 我知道可以通过仅使用接口来实现多重继承,但是上面的代码与接口所做的事情相同。 问题答案: 不允许这样做,因为您可以对抽象类做更多的事情。允许多重继承是没有意义的,前提是您只在可以使用接口的情况下才使用抽象类。 仅将抽象类用于无法通过接口执行的操作会更简单,在这种情况下,您将无法使用两个抽象父类。 注意:使

  • 主要内容:多继承下的构造函数,命名冲突在前面的例子中,派生类都只有一个基类,称为 单继承(Single Inheritance)。除此之外, C++也支持 多继承(Multiple Inheritance),即一个派生类可以有两个或多个基类。 多继承容易让代码逻辑复杂、思路混乱,一直备受争议,中小型项目中较少使用,后来的 Java、 C#、 PHP 等干脆取消了多继承。 多继承的语法也很简单,将多个基类用逗号隔开即可。例如已声明了类A

  • 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Parrot - 鹦鹉; Ostrich - 鸵鸟。 如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次: 但是如果按照“能跑”和“能飞”来归类,我们就应该设计出这样的类的层次: 如果要把上面的两种分类都包含进来

  • 继承是面向对象编程的一个重要的方式,因为通过继承,子类就可以扩展父类的功能。 回忆一下Animal类层次的设计,假设我们要实现以下4种动物: Dog - 狗狗; Bat - 蝙蝠; Parrot - 鹦鹉; Ostrich - 鸵鸟。 如果按照哺乳动物和鸟类归类,我们可以设计出这样的类的层次: ┌───────────────┐ │