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下,还是能访问到的。所以,你知道该怎么用了吗?
