【從零開始學 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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~