我不确定标题中的术语是否完全正确,但我的意思很容易通过以下示例说明:
class MyClass{
String str = '';
MyClass(this.str);
}
void main() {
MyClass obj1 = MyClass('obj1 initial');
print(obj1.str);
doSomething(obj1);
print(obj1.str);
doSomethingElse(obj1);
print(obj1.str);
}
void doSomething(MyClass obj){
obj.str = 'obj1 new string';
}
void doSomethingElse(MyClass obj){
obj = MyClass('obj1 new object');
}
这将会打印
obj1 initial
obj1 new string
obj1 new string
但是,如果我想让doSomethingElse()
实际修改obj1
所引用的内容,使输出结果为:
obj1 initial
obj1 new string
obj1 new object
这在Dart中是否可能?如果可能,怎样做呢?