java - 在构造函数方法中返回子类

标签 java c++ algorithm design-patterns constructor

我有一个基类,当我调用构造函数时,它访问系统并根据配置返回它的子类。 主要思想和类是抽象自己的工厂,并根据需要返回子类,具体取决于配置系统。

我用 C++ 将我的想法表达为草稿,不一定是针对他的,而是针对其他语言(例如 java 等)的通用方法。

可能吗?

示例:

class system {
    public:
        Config config;
}

class Base {
    public:
        Base() {
            if(System.getInstance().config == Config.FooMode) {
                Foo foo = new Foo();
                return foo;
            }
        };
};

class Foo: public Base {
    public:
        float a;
        float b;
        float c;
}

class Boo: public Base {
    public:
        float d;
        float f;
        float g;
}

int main() {
    Point point = new Point();
    return 0;
}

最佳答案

不可能。构造函数不返回任何内容,使用另一个方法作为 factory方法。

class Base
{
  Foo makeFoo()
  {
  }
  ...
};

我混淆了你的代码是 C++ 还是 Java,所以不知道我应该使用什么代码。

关于java - 在构造函数方法中返回子类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19690967/

相关文章:

java - MPAndroidChart:如何创建分组条形图?

c# - 从 C# 代码调用 dll 函数期间出错

c++ - 如何存储多态闭包?

c++ - 使用 g++4.5.2 编译时对类的引用不明确

algorithm - 计算带周期的随机迷宫行走的概率

algorithm - 比较二进制堆的插入操作

java - boolean 方法的 Junit 测试

java - 如何在jenkins管道中获取{env.WORKSPACE}的父目录

java - 测试使用其他测试的内部 ContextConfiguration

algorithm - 从图中消除顶点