2025年2月23日 星期日

物件導向程式設計

 在 程式設計(特別是 物件導向程式設計,OOP)中,Classes(類別) 是用來建立物件(Objects)的 藍圖


🔹 什麼是 Class(類別)?

在 Python、Java、C++ 等程式語言中,類別(Class) 是一種 定義物件的模板,它描述了物件的 屬性(Attributes)行為(Methods)

📌 簡單來說

  • 類別 是一個設計圖
  • 物件 是根據這個設計圖創建的實體

🔸 類別 vs 物件

類別(Class)規則,例如:「車子」是一種類別,描述了車子的特性(品牌、顏色)和行為(加速、剎車)。
物件(Object)實例,例如:「Toyota Camry」是一輛車,它是車子這個類別的具體物件。


🔹 Python 中的 Class(類別)

在 Python 中,使用 class 關鍵字來定義類別,並使用 __init__() 方法來初始化物件屬性。

📌 例子:定義一個 Car(車)類別

class Car:
    def __init__(self, brand, color):
        self.brand = brand  # 屬性:品牌
        self.color = color  # 屬性:顏色

    def drive(self):
        print(f"{self.brand} 的 {self.color} 車正在行駛!")

# 創建物件(Object)
my_car = Car("Toyota", "紅色")

# 呼叫方法(Methods)
my_car.drive()  # 輸出:Toyota 的 紅色 車正在行駛!

🔸 解釋

  1. class Car: → 定義一個類別 Car
  2. __init__() → 這是 建構子(Constructor),用來初始化物件屬性(品牌、顏色)。
  3. self.brand = brand物件的屬性,每個車子物件都會有自己的品牌和顏色。
  4. def drive(self):方法(Method),物件可以執行這個動作(行駛)。
  5. my_car = Car("Toyota", "紅色")建立物件my_carCar 類別的實例。
  6. my_car.drive() → 讓車子執行 drive() 方法,輸出 "Toyota 的 紅色 車正在行駛!"

🔹 類別的特點

1️⃣ 封裝(Encapsulation) → 把數據和方法封裝在一起,例如 self.branddrive()
2️⃣ 繼承(Inheritance) → 新的類別可以繼承已有的類別,例如 ElectricCar 可以繼承 Car
3️⃣ 多型(Polymorphism) → 讓不同的物件可以用相同的介面運作,例如 CarBike 都有 drive() 方法,但表現方式不同。


🔹 類別的應用

  • 遊戲開發 中,你可以用 class Player 來定義玩家角色,class Enemy 來定義敵人。
  • Web 開發 中,你可以用 class User 來管理使用者資料,如帳號、密碼等。
  • 機器學習 中,你可以用 class Model 來定義神經網路模型的結構。

🔹 總結

Class(類別) 是物件的「藍圖」,定義了屬性(數據)和方法(行為)。
Object(物件) 是依據類別所創建的「實例」,每個物件都有自己的數據。
類別讓程式更有結構、更容易維護、可以重複使用! 🚀

如果你有更具體的問題,或是想看更進階的類別應用(例如 繼承、封裝、抽象類別),歡迎繼續問我! 😊

沒有留言:

張貼留言

精選文章

手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路

為了避免手機使用VPN進入NAS、DaikinAPP時,仍能使用其他APP如銀行,連上WIFI 或行動網路,要修改Router Policy設定?需要把家中屬於VPN的網段設備與其他區隔?要如何設定? 為了達成您的需求: ✅ 手機連上 VPN(例如連回家中 TP-Link ER...