我有一个Java TCP服务,它具有以下方式使用的继承。 Java Service将Json作为输入,处理它然后返回一个Json。处理分布在B和C等类中.A创建对象并完成工作。我没有将inputJson传递给B和C,而是将它存储在Container类中,以便容器的子类可以很容易地使用它。 我相信有更好的方法来重新设计它。请指导。 (注意:实际上,有更多的类,如B,C和容器包含更多由doB1()和doC1()等使用的属性。
//Pseudo
Class Main(){
public static void main(String[] args)
{
return new A().a1(inputJson);
}
}
Class Container{
JsonNode input;
JsonNode output;
}
Class A extends Container{
private JsonNode a1(inputJson)
{
input = inputJson;
B bObject = new B();
bObject.doB1();
C cObject = new C();
cObject.doC1();
return output;
}
}
Class B extends Container{
public void doB1()
{
//prepares and updates part of output using input
}
}
Class C extends Container{
public void doC1()
{
//prepares and updates part of output using input
}
}
答案 0 :(得分:1)
也许这就是你要找的东西,它消除了你需要的单个Container超类。
使用它可以像<button type="button" class="btn_style">Medium</button>
一样简单
当然,您需要确保每个类都返回一个C.process(B.Process(A.create()));
,但看到您的容器似乎已经存在该功能。
JsonNode