gpt4 book ai didi

flutter - 私有(private)实例变量有什么用?

转载 作者:行者123 更新时间:2023-12-03 04:43:14 25 4
gpt4 key购买 nike

我正在研究 Dart ,并在此处使用私有(private)实例变量的示例代码:

class User {
String _first;
String _last;

String getFullName() {
return "$_first $_last";
}
}

main() {
User user = User();
user._first = "Bob";
user._last = "Smith";
var fullName = user.getFullName();
print(fullName);
}
代码似乎在有或没有变量下划线的情况下都一样,所以我真的很难理解这个的真正目的,并且想不出一个 protected 变量何时可以派上用场的真实示例。由于每个人都可以自由地进入您的代码并调整其实现,因此受到保护。私有(private)方法也是如此。希望有人能帮助我理解

最佳答案

它可以防止创建不需要的和无意的依赖关系。

class FooUtils{

//Foo variables
int _fooId;

//Foo methods
void _updateFooState(){

}

//Foo util methods for users
void getUserDOB(int userId){
//some logic
_updateFooState();
}

}

class UserClass{
// User specific code

}
当您编写其他人将使用的实用程序或库或包时,您不会希望创建对您的 class's 的依赖项。内部状态。
默认类成员是 public如果它们没有标记 _ .如果这些成员可见且可修改,则不能保证您的应用程序的状态是一致的。在上面的例子中 _fooIdFooUtils 的内部实现细节并且使用 FooUtils 的任何人都不应该看到它类(class)。如果在外部进行修改,可能会导致错误输出。

关于flutter - 私有(private)实例变量有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62750066/

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