Dart
中在一个类里访问另一个类的命名构造函数很正常,但是我想让这一个类的命名构造函数不被外界访问,习惯了java
的我马上就想到了private
关键字,但是这是dart
,没有类似java
的private
、protected
、public
关键字。但是要实现私有字段和私有方法,直接在加上_
前缀即可。
加上
_
前缀就可以与外界隔离了吗?
其实并不是,_
并不是从class
级别去限制,而是从package
级别去限制的,例如:
class Person {
String? _name;
String get name => _name ?? "";
set name(String value) {
_name = value;
}
void _eat() {
print('eat...');
}
}
main(){
var p = Person();
print(p._name);
p._eat();
}
在同一个package
下,还是能访问到的。所以,你知道该怎么用了吗?