Как мне изменить значение класса с другого
Я учусь программировать на Java, и я хочу знать, является ли хорошей концепцией ОО-программирования замена значения на составной класс из другого составного класса. Как это:
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, так что извините, если я ошибаюсь.
2 ответа
Решение
Вы можете изменить, как это,
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());
}
}
Как правило, вы хотите, чтобы ваши классы были максимально расшифрованы, поэтому вы хотите изменить значение класса, вы просите сам класс изменить его. так что если единственной целью вашего класса является изменение значения другого, то это не нужно, вам нужно просто вызвать y.setY(0);
из метода, который использует y