会员
一个类可以有成员。
实例变量可以使用/不使用类型注释进行声明,也可以选择初始化。未初始化的成员具有 null
的值,除非构造函数设置为另一个值。
class Foo {
var member1;
int member2;
String member3 = "Hello world!";
}
使用 static
关键字声明类变量。
class Bar {
static var member4;
static String member5;
static int member6 = 42;
}
如果方法不带参数,快速,返回值,并且没有可见的副作用,则可以使用 getter 方法:
class Foo {
String get bar {
var result;
// ...
return result;
}
}
getters 从不接受参数,因此(空)参数列表的括号在上面声明 getter 和调用它们时都被省略,如下所示:
main() {
var foo = new Foo();
print(foo.bar); // prints "bar"
}
还有 setter 方法,它们必须只有一个参数:
class Foo {
String _bar;
String get bar => _bar;
void set bar(String value) {
_bar = value;
}
}
调用 setter 的语法与变量赋值相同:
main() {
var foo = new Foo();
foo.bar = "this is calling a setter method";
}