首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >es6类继承

es6类继承
EN

Stack Overflow用户
提问于 2016-08-19 04:20:03
回答 1查看 95关注 0票数 0

我正在尝试将几个类的静态和原型合并到一个主类中,如下面的示例所示。

这真的可能吗?我的目标是,我能够合并静态和原型来做一些事情,比如:

Alltogether.dosomething()或Alltogther.o3.myoption1

代码语言:javascript
复制
// class1
class Option1 {
    constructor(properties) {
        this.o = {};
        this.o.myoption1 = properties.o.myoption1;
        this.o.myoption2 = properties.o.myoption2;
    }
    dosomething1() {
        return "o1";
    }
}

// class2
class Option2 {
    constructor(properties) {
        this.o2 = {};
        this.o2.myoption1 = properties.o2.myoption1;
        this.o2.myoption2 = properties.o2.myoption2;
    }
    dosomething2() {
        return "o2";
    }
}

// class3
class Option3 {
    constructor(properties) {
        this.o3 = {};
        this.o3.myoption1 = properties.o3.myoption1;
        this.o3.myoption2 = properties.o3.myoption2;
    }
    dosomething3() {
        return "o3";
    }
}

// now i want to create a super class with the 3 classes above
// however this doesnt work...
class Alltogether extends (Option1, Option2, Option3) {
    constructor(properties) {
        //........
    }
}

// My goal is that im able to merge the statics and prototypes to do things like
// Alltogether.dosomething()  // o2
// or Alltogether.o3.myoption1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-19 05:01:38

让它变得简单并使用composition over inheritance

代码语言:javascript
复制
class Option {
    constructor(properties) {
        this.myoption1 = properties.myoption1;
        this.myoption2 = properties.myoption2;
    }
    dosomething() {
        return "o";
    }
}

class Alltogether {
    constructor(properties) {
        this.o = new Option(properties.o)
        this.o1 = new Option(properties.o1)
        this.o2 = new Option(properties.o2)
    }
}

如果您的子类实际上是不同的,那么您可以使用多个Option (dosomething)类。如果没有,您甚至应该考虑使用数组而不是三个编号属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39026834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档