我应该如何更改 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);
我正在 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);