我正在学习使用Java编程,并且我想知道是否将OO编程的一个好概念从另一个组合类更改为组合类。像这样:
public class X{
public void x(Y y){
y.setY(0);
}
}
或者我应该向主班上诉?像这样:
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,所以如果我弄错了,我很抱歉。
答案 0 :(得分:1)
你可以这样改变,
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());
}
}
答案 1 :(得分:1)
通常你想让你的类尽可能地被修饰,所以你想要改变你要求类本身改变它的类值。
因此,如果您班级的唯一目的是更改另一个的价值,那么就没必要了,您只需从使用y.setY(0);
的方法中调用y