gpt4 book ai didi

flutter - 在Dart中通过引用或指针或值传递

转载 作者:行者123 更新时间:2023-12-03 02:44:17 30 4
gpt4 key购买 nike

我正在尝试编写一些代码,以便可以通过其他类的功能将变量加起来作为对某些作品的测试。我不想写return,extends,global变量,但仍然可以添加值。有任何想法吗?还是不可能?

void main() {
bbb B = new bbb();
B.bOut();

}
class bbb{
int b = 1;
void bOut(){
aaa A = aaa(this.b);
A.aAdd();
print(b);
}
}
class aaa{
int variableA;
aaa(this.variableA);
void aAdd (){
variableA++;
}
}
输出为1

最佳答案

欢迎来到SO Wesley!

与其他许多面向对象的编程语言一样,在Dart中,对象始终是按值传递的。但是您仍然可以按值传递指向对象和数组的指针。感谢@jamesdlin在评论中指出这一点。有关此主题的更多信息,请参见:Is Java pass-by-reference or pass-by-value?

除了传递this.b之外,您还可以简单地传递对对象的引用:bbb并访问变量b。我准备了一个简单的示例:

输出:

0
1

代码:
class Wrapper {
int i;
}

test() {
Wrapper wrapper = Wrapper();

wrapper.i = 0;
print(wrapper.i);

increase(wrapper);
print(wrapper.i);
}

increase(Wrapper wrapper) {
wrapper.i++;
}

关于flutter - 在Dart中通过引用或指针或值传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57338723/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com