【從零開始學 Dart 程式設計】類別

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

物件導向程式

物件導向(英語:Object-oriented programming,縮寫:OOP),即是將抽象的程式擬物化,將程式比喻成真實世界中的物件。而物件(Object),是從類別(class) 實體化後而來的。

類別 -> 物件

類別

類別就像紙上描述有哪些東西,要做哪些事的藍圖。而我們將他實體化,就將類別轉變成物件,就可以使用此類別定義的屬性和方法。

類別定義

以 class 關鍵字開頭,後面接著定義類別名稱,使用大括號{}包起類別區塊,語法:

class 類別名稱 {
   <類別欄位>
   <存取、設定子>
   <構造方法>
   <方法>
}

<類別欄位>,fields :類別屬性變數值
<存取、設定子>,getters/setters :透過 get 和 set 的方法來存取類別資料
<構造方法>,constructors:類別實體畫後初始化動作邏輯
<方法>,functions:類別中的方法

類別實體化

語法:

類別名稱 物件名稱 = new 類別建構子();

範例

void main() {
  //將類別實體化
  Role role = new Role();
  
  //呼叫類別中的方法
  role.walk();
  role.run();
  role.hit();
}

//定義一個 Role 的遊戲角色類別,Role 是類別的名稱
class Role {
  //===屬性===
  String nickName=""; //遊戲暱稱
  String gender=""; //性別
  String skill=""; //技能

  //===方法===
  //走路
  void walk() {
    //todo sth...
    print("walk... ");
  }

  //快跑
  void run() {
    //todo sth...
    print("run... ");
  }

  //攻擊
  void hit() {
    //todo sth...
    print("hit... ");
  }
}

輸出結果

walk... 
run... 
hit... 

使用物件屬性與方法

以上方 Role 類別為例,我們需先將該類別給實體化後,透過「.」點運算子,存取物件的屬性,與使用物件的方法。

範例

void main() {
  //將 Role 類別實體化成 role,透過點的方式進行存取與呼叫
  Role role = new Role();

  //設定 Role 類別中的三個屬性值資料
  role.nickName = "殺很大";
  role.gender = "女生";
  role.skill = "天空飛行";

  print(role.nickName);
  print(role.gender);
  print(role.skill);
}

執行結果:

很大
女生
天空飛行

構造方法

構造方法,是當物件被實體化時,用來初始化物件的方法。構造方法會和類別名稱完全相同,構造方法和一般方法一樣可無任何參數,也可帶參數,另外,注意的事,構造方法沒有返回值。

範例

定義一個 DemoClass,

class DemoClass {
  int intVal = 0;

  DemoClass() {
    intVal = -1;
  }
}

使用 DemoClass 並呼叫構造方法

void main() {
  //創建物件,使用無參數,構造方法
  DemoClass d1 = new DemoClass();
  print(d1.intVal);
}

執行結果:

-1

那這次的課程就介紹到這邊囉~

順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。

我們下次再見囉!!!掰掰~

這個網誌中的熱門文章

16天記下7000單字

nano 文字編輯器

2023 最新入門零基礎 Kotlin教學【從零開始學 Kotlin 程式設計】Kotlin 教學課程目錄 (Android Kotlin, IntelliJ IDEA, Android Studio, Android APP 開發教學)

Android Studio 歷代版本下載點

2022 最新入門零基礎 Flutter教學 【Flutter 程式設計入門實戰 30 天】Flutter 教學課程目錄 (IntelliJ IDEA 開發教學)