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