【從零開始學 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;

  DemoClass() {
    intVal = -1;
  }
}
使用 DemoClass 並呼叫構造方法
void main() {
  //創建物件,使用無參數,構造方法
  DemoClass d1 = new DemoClass();
  print(d1.intVal);
}
執行結果:
-1

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

留言

這個網誌中的熱門文章

16天記下7000單字

Costco 好市多 AFTERSHOKZ 骨傳導 藍牙運動耳機 AS650 開箱實測評價與心得

2019 最新入門零基礎【從零開始學 Java 程式設計】線上教學課程目錄 (7/5 更新囉~)