0

我是 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;

    }
}
4

0 回答 0