gpt4 book ai didi

java - 我可以使用哪种设计模式?

转载 作者:行者123 更新时间:2023-12-03 06:39:13 25 4
gpt4 key购买 nike

我喜欢实现以下场景。 (示例)

我有 3 个类(class):

  1. Controller
  2. 苹果
  3. 汽车

public class Apple implements IBonus {
public String name;
public String weight;
}


public class Car implements IBonus{
public String brand;
public String vmax;
public String power;
}

public class Controller {
public List<String> values;

public void doWork(IBonus bonusObject){
if(bonusObject instanceOf Car){
Car c = (Car)bonusObject;
values.add(c.brand);
values.add(c.vmax);
values.add(c.power);
}
if(bonusObject instanceOf Apple){
Apple a = (Apple)bonusObject;
values.add(a.name);
values.add(a.weight);
}
}
}

现在,我有很多类(class),例如苹果和汽车。并且每个类的某些变量也有可能在不久的将来被更改、添加或删除。这意味着我总是必须调整 Controller 类中的代码。

有人知道合适的模式吗?

最佳答案

您不需要任何模式。只是普通的旧多态性:

public interface IBonus {
void fillStringList(List<String> values);
}
...

public void doWork(IBonus bonusObject){
bonusObject.fillStringList(values);
}

关于java - 我可以使用哪种设计模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11188169/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com