Flutter / Dart:使用私有变量获取和设置

时间:2018-10-15 06:07:41

标签: get dart set flutter

如果我读到setter和getter必须在Dart中进行显式开发,则仅当您想做的事情不仅仅是检索那些值时。但是,如果我有私有变量,例如:

Class User {
  User _user;
  String _password;
}

如何访问这些私有变量? 即使我实现了设置密码,例如

 set password(String value) => _password = value;

这当然会给我一个“错误”。

2 个答案:

答案 0 :(得分:2)

如果您想让公共获取者/设定者拥有私有变量,那有什么意义呢?

只需将其设置为公共变量即可。

如果您坚持拥有一个具有公共访问权限的私有变量,那么您仍然需要添加getter和setter。

答案 1 :(得分:0)

由于某些原因导入了私有变量,如果有条件地设置或获取Class属性值,则setter和getter对于私有变量很重要。下面给出的示例:

   class User {

       int _id;
       String _firstName;
       String _password;

      int get id => _id;

      set id(int value) {
        _id = value;
      }

      String get firstName => _firstName;

      set firstName(String value) {
        if(value.length > 7)
           _firstName = value;
      }

      String get password => _password;

      set password(String value) {
         if(some condition against this value like password)
            _password = value;
      }
   }

注意:您可以像上面示例中给出的setter一样在getter中设置条件。