我是 OO 编程的新手,并且在“全局/共享”数据方面遇到了麻烦。问题是我每 20 毫秒从数据总线中获取数据(大约 60 个变量)。然后我有很多类需要这些数据并对其进行修改。
我的解决方案是创建一个包含所有变量的类,因此所有“全局”数据都在一个对象中。然后每个类在构造函数中都有对该对象的引用。它有效,但我确信这不是一个好方法。你将如何解决这个问题?如果有任何建议,我将不胜感激!!
这是一个我知道应该有 getter/setter 的 Java 示例:
public class MainProgram {
private GlobalData iGlobalData;
private TestClass iTestClass;
public MainProgram(){
iGlobalData = new GlobalData(this);
iTestClass =new TestClass(this);
}
public static void main(String[] args) {
MainProgram h =new MainProgram();
iTestClass.docalc();
System.out.println(iGlobalData.test);
}
}
public abstract class MainProgramComponent {
private MainProgram iMainProgram;
}
public class GlobalData extends MainProgramComponent{
public int test;
GlobalData(MainProgram iMainProgram){
super(iMainProgram);
}
}
public class TestClass extends MainProgramComponent{
private GlobalData iGlobalData;
TestClass(MainProgram iMainProgram){
super(iMainProgram);
this.iGlobalData=iMainProgram.getiGlobalData();
}
public void docalc(){
iGlobalData.test =iGlobalData.test+1;
}
}