尝试实现一个扩展父类的子类

问题描述 投票:0回答:1

这是我的任务

  • 实现一个扩展父类的子类。
  • 在Child类中添加一个构造函数就可以调用super()。
  • 在 Child 类中实现一个新函数 addNewAbilities(newAbility) ,新能力将被添加到 Parent 的 #abilities 数组中。

我尝试在此处添加创建新功能,但它不起作用。不确定我是否正确创建了该函数。有谁帮忙看看吗

class Parent {
    abilities = []

    constructor(){
        this.abilities.push("Parenting");
        this.abilities.push("Role modeling");
    }

    showAbilities(){
        console.log("These are the abilities:")
        for(const a of this.abilities){
            console.log(a);
        }
    }
}

const p = new Parent();
p.showAbilities(); // Observe that this function prints "Parenting" and "Role modeling".

// Task 1: Add code here
class Child extends Parent {
    addNewAbility = []

    super() {
        this.addNewAbility.push("Parenting");
    }
}

const c = new Child();
c.addNewAbility("Dancing");
c.showAbilities(); // This function should print "Parenting", "Role modeling" and "Dancing".

javascript
1个回答
0
投票

您需要在子类的构造函数中调用

super

class Child extends Parent {
    addNewAbility = []
    
    constructor() {
        super()
        this.addNewAbility.push("Parenting")
    }

当您在构造函数中调用

super
时,它会从子类中调用父类的构造函数。

这里有一个链接,很好地解释了

super
的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.