我是一名非程序员,对编程只有很少的经验,但我想修改一个现有的代码库。我已经大大简化了我正在处理的代码。如果需要更多的信息或者这一切都没有意义,请告诉我!术语很难理解。 :)
在ClassA中,我实例化了ClassB的一个子类。我想要进行的更改需要在ClassC子类中可用一个新的变量"myVar"(在ClassA中设置),但不可用于ClassD子类。如何最合适地将该变量提供给ClassC?
ClassA:
在ClassA中,我实例化了ClassB的一个子类。我想要进行的更改需要在ClassC子类中可用一个新的变量"myVar"(在ClassA中设置),但不可用于ClassD子类。如何最合适地将该变量提供给ClassC?
ClassA:
public class ClassA {
private String myVar = "hi";
private String myStuff = "bye";
private int myOption = 1;
private String getMyClass(String myStuff) throws Exception {
final MyClassChoice myClass = getMyClassChoice(myOption);
return myClass.getResponse(myStuff);
}
private MyClassChoice getMyClassChoice(myOption) {
switch(myOption) {
case 1:
return new ClassC();
case 2:
return new ClassD();
}
}
}
ClassB:
public class ClassB {
public abstract String getResponse(String myStuff) throws IOException;
}
ClassC:
public class ClassC extends ClassB {
// do stuff with myStuff
// do stuff with myVar
}
ClassD:
public class ClassD extends ClassB {
// do stuff with myStuff
}
myVar
传递到ClassC
的构造函数中? - shmosel