會員
一個類可以有成員。
例項變數可以使用/不使用型別註釋進行宣告,也可以選擇初始化。未初始化的成員具有 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";
}