TypeScript Learning

類別 (Classes)

⏱️預計 50 分鐘
📖TypeScript 課程
🎯實戰導向

第 7 課:類別 (Classes)

學習目標

  • 掌握 TypeScript 中類別的基本語法,包括建構函式、屬性和方法
  • 理解並應用類別繼承,包括 super() 和方法覆寫
  • 學會使用 public, private, protected 存取修飾符
  • 理解 readonly 修飾符在類別屬性中的應用
  • 掌握靜態屬性和靜態方法的用法
  • 初步認識抽象類別和抽象方法
  • 了解類別可以作為介面使用的情況

1. 類別的基本語法

類別 (Class) 是創建物件的藍圖或模板。你可以將它想像成一個模具,用來製造具有相同結構和行為的物件。

基本類別結構

typescript
1class Person {
2  name: string;
3  age: number;
4
5  constructor(name: string, age: number) {
6    this.name = name;
7    this.age = age;
8  }
9
10  greet(): string {
11    return `Hello, I'm ${this.name}`;
12  }
13}

🎯 互動練習 1:建立你的第一個類別

2. 存取修飾符

TypeScript 提供了三種存取修飾符來控制類別成員的可見性:

  • public (預設):可以在任何地方存取
  • private:只能在類別內部存取
  • protected:可以在類別內部和子類別中存取

🎯 互動練習 2:存取修飾符實作

3. 類別繼承

類別可以繼承其他類別的屬性和方法,使用 extends 關鍵字。子類別可以覆寫父類別的方法,也可以添加新的功能。

🎯 互動練習 3:類別繼承實作

4. 唯讀屬性和靜態成員

唯讀屬性 (readonly)

使用 readonly 修飾符可以讓屬性在初始化後不能被修改。

靜態成員 (static)

靜態成員屬於類別本身,而不是類別的實例。

🎯 互動練習 4:唯讀屬性和靜態成員

5. 抽象類別

抽象類別不能被直接實例化,只能被繼承。它們通常包含抽象方法,子類別必須實作這些方法。

🎯 互動練習 5:抽象類別實作

6. 綜合練習

🎯 互動練習 6:員工管理系統

7. 知識檢查

🎯 互動練習 7:類別知識測驗

總結

今日學到的重點

  • 類別基本語法:使用 class 關鍵字定義類別,constructor 建構函式初始化物件
  • 存取修飾符public(公開)、private(私有)、protected(受保護)
  • 類別繼承:使用 extends 繼承父類別,super() 調用父類別方法
  • 唯讀屬性:使用 readonly 讓屬性在初始化後不可修改
  • 靜態成員:使用 static 定義屬於類別本身的屬性和方法
  • 抽象類別:使用 abstract 定義不能直接實例化的類別

課後建議

  1. 練習設計不同的類別結構
  2. 嘗試使用繼承來組織程式碼
  3. 理解何時使用不同的存取修飾符
  4. 重複做上面的互動練習,直到完全理解

下一課預告

下一課我們會學習:

  • 泛型的基本概念和語法
  • 泛型函式和泛型類別
  • 泛型約束和條件類型
  • 實用的泛型工具類型

恭喜你完成第七課! 🎉

你已經掌握了 TypeScript 類別的核心概念。類別是物件導向程式設計的基礎,能幫助你組織和重用程式碼!