当我尝试在dart中创建构造函数时,Student(this._name)它不适用于私有变量。
我已经尝试过使用setters,但是它也不起作用。
class Student{
var _id;
var _name;
Student(this.id, this.name);
void set id(int id) => _id = id;
void set name(String name) => _name = name;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用这个符号
class Student {
String _id;
String _name;
Student({required String id, required String name})
: _id = id,
_name = name;
}
Run Code Online (Sandbox Code Playgroud)
不支持此功能,因为它会将私有实现暴露给外部。
如果重命名var _id;为var _userId;您,则仅重命名一个私有字段就会破坏使用您的类的代码。
请改为在我的答案下方查看评论。
class Student{
var _id;
var _name;
Student({this._id, this._name}); // error
void set id(int id) => _id = id;
void set name(String name) => _name = name;
}
Run Code Online (Sandbox Code Playgroud)
另类
class Student{
var _id;
var _name;
Student({int id, String name}) : _id = id, _name = name;
void set id(int id) => _id = id;
void set name(String name) => _name = name;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1030 次 |
| 最近记录: |