在第十五課中,我們將探索 Python 的基礎物件導向程式設計 (OOP) 概念。
物件導向程式設計是一種設計和組織程式碼的方法,它強調使用物件來表示資料和功能。
請新建一個檔案oop_basics.py
。- 類和物件:
- 類 (Class): 定義一個新的資料型態,它有自己的屬性和方法。
- 物件 (Object): 是類的一個實例。
pythonCopy code
# 定義一個類
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def bark(self):
print(f"{self.name} barks!")
# 建立一個物件
buddy = Dog("Buddy", 3)
buddy.bark()
- 繼承 (Inheritance): 繼承允許一個類從另一個類中獲得其屬性和方法。
pythonCopy code
class GoldenRetriever(Dog):
def fetch(self, item):
print(f"{self.name} fetched {item}!")
rex = GoldenRetriever("Rex", 5)
rex.bark()
rex.fetch("ball")
- 封裝 (Encapsulation): 封裝是 OOP 的一個主要特點,它確保物件的內部狀態不被外部直接訪問。
pythonCopy code
class Cat:
def __init__(self, name):
self._name = name # _name 是私有屬性
def meow(self):
print(f"{self._name} says meow!")
whiskers = Cat("Whiskers")
whiskers.meow()
# print(whiskers._name) # 通常不建議直接訪問私有屬性
- 多型 (Polymorphism): 多型允許不同的類可以被用作同一個介面,或者說,不同的物件可以以相同的方式使用。
pythonCopy code
class Fish:
def __init__(self, name):
self.name = name
def speak(self):
print(f"{self.name} blubs!")
def animal_speak(animal):
animal.speak()
tom = Cat("Tom")
nemo = Fish("Nemo")
animal_speak(tom) # 輸出: Tom says meow!
animal_speak(nemo) # 輸出: Nemo blubs!
以上只是 OOP 在 Python 中的基礎。隨著你繼續深入學習,你將發現更多進階的主題和技巧。
請在 oop_basics.py
中輸入並運行上述代碼,嘗試創建自己的類和物件,並進行繼承和多型的實驗。