會員

一個類可以有成員。

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