我对我的想法的概念仍然有些麻烦。
问题是这想要创建一个类 A,它可以改变它的属性和方法,除了系统配置,它可以动态改变。
简单地说,我可以有一个具有属性 X、Y 并且仅具有 add 方法的类“A1”和另一个具有 X、Y、Z 和方法加法和减法的类“A2”。并且可能会将它们包含在系统中。
但想法是类“A”或更好的类A的对象可以动态地更改为两个recebebdo他们的方法之一。
我考虑过使用策略模式,因为我可以动态更改,但是我卡住了无法动态添加的功能,并且我阅读了一些关于抽象工厂和工厂模式的信息,它“几乎”满足了我的需求。但我认为这是因为我的例子不是很清楚。
我开始想象这个类将是他们自己的抽象工厂,但这仍然让我怀疑他们的新方法。
它不是针对特定语言的,而是我的思想和系统易用性,无需在代码中管理和处理多个类,它将是实际类的接口。
最大的问题是:有可能吗?我能怎么做?
示例:
class System
{
setConfig(Config.VALUE);
}
class A
{
if(system.config == Config.A1)
{
this.handleClass = new A1();
}
else
{
this.handleClass = new A2();
}
}
class A1
{
add(value:float);
}
class A1
{
subtract(value:float);
}
main
{
System system.setConfig(Config.A);
A foo = new A();
A.add() // because the add method belongs to class A1;
System system.setConfig(Config.B);
A.subtract() // because the add method belongs to class A2;
}