我应该如何更改 class 值

How should I change a class value from another

我正在 Java 中学习编程,我想知道将一个值从另一个组合 class 更改为组合 class 是否是 OO 编程的一个好概念].像这样:

public class X{
    public void x(Y y){
        y.setY(0);
    }
}

或者我应该向 Main class 提出上诉?像这样:

public class X{
    public void x(Main m){
        m.modifyY(0);
    }
}

public class Main{
    private Y y;
    private X x;

    public void modifyY(Main m){
        y.modifyY(0);
    }
}

PS: 我也在学习UML,如果说错了请见谅

你可以这样改,

public class X{
    public X(Y y){
        y.setY(0);
    }
}

public class Y{
   public int val=0;
   public void setY(int p_val){
       val=p_val;
   }
}

public class Main{
    public void modifyY(){
         new X(new y());
    }
}

一般来说,你想让你的 class 尽可能地被分解,所以你想改变一个 class 的值,你要求 class 本身来改变它。 所以如果你的 class 的唯一目的是改变另一个值,那么这是不必要的,你应该从使用 y

的方法中调用 y.setY(0);