【從零開始學 Dart 程式設計】介面

【從零開始學 Dart 程式設計】線上教學課程目錄 ,Flutter 先修班, Dart 程式語言基礎入門課程。

介面定義語法

在 Dart 中,並沒有介面定義的語法,class 類別即是 Dart 的接口。
class 類別名稱{

}

實作接口語法

當類別要使用此介面,將會使用 implements 這個關鍵字,介面裡面宣告的方法都必需實做出來,否則會報錯。
class 子類別 implements 介面類別名稱
可以實作多個介面,透過逗號分隔
class 子類別 implements 介面1,介面2,介面3...,介面X

範例

void main() {
  Child c = new Child();
  c.getInfo();
}

class Child implements Info {
  getInfo() {
    print('Child getInfo...');
  }
}

class Info {
  void getInfo() {
    print('getInfo...');
  }
}
輸出結果
Child getInfo...

抽象類別與介面比較

抽象類別

  • 抽象類別會在定義類別前面加一個關鍵字 abstract
  • 類別是透過 extends 關鍵字去使用抽象類別
  • 一個類別只能繼承一個抽象類別
  • 可以只定義方法名稱

介面

  • 在 Dart 不需在定義類別前面關鍵字
  • 類別是透過 implements 關鍵字去使用介面
  • 一個類別可以實作多個介面,透過「,」逗號來區隔
  • 不可以只宣告方法名稱,一定還要有方法本體(body)

範例

//抽象類別
abstract class Door {
  void open();
  void close();
}

//介面
class Alert {
  void alert(){
    print('alert...');
  }
}

// MyDoor 繼承(extends) Door 抽象類別且實作(implements) Alert 介面
class MyDoor extends Door implements Alert {

  @override
  void open() {
  }

  @override
  void close() {
  }

  @override
  void alert() {

  }
 
}

那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~