У меня есть переменная с именем number
и класс, который устанавливает переменную в number
в своем конструкторе. Затем я изменяю значение number
, но number
в классе не обновляется. Вот мой код:
void fn1() {
int number = 5;
SomeClass someClass = SomeClass(number);
// Do some other things which take a long time
number = 2;
someClass.printer(); // prints 5. expect 2
}
class SomeClass {
int nestedNum;
SomeClass(this.nestedNum) {
printer();
}
void printer() {
print(nestedNum);
}
}
Как я могу получить nestedNum
для обновления в любое время number
изменяется?
Таким образом, хакерское / простое решение будет в любое время, когда я изменю number
в fn1
, мне нужно изменить nestedNum
в someClass
: вот так: someClass.nestedNum = 2
. Проблема в том, что если у меня есть несколько классов, мне придется go через каждый, чтобы изменить переменную.
Другое решение, о котором я подумал, заключалось в том, чтобы никогда не передавать number
в someClass
, но вместо этого передайте this
и получите доступ к number
, используя this
. Проблема снова в том, что если у меня есть несколько классов, каждому из которых требуется доступ к другой переменной из fn1
.