今天是Python學習的第二十三天,這三天的學習重點會是Python中的類別與物件導向編程(OOP)基礎,今天學習繼承的概念,理解如何讓一個類別繼承另一個類別的屬性與方法,了解多型的基本應用,學會覆寫方法(Method Overriding)。
例一:繼承(Inheritance)
繼承是一個類別可以從另一個類別獲得屬性和方法的方式。這樣可以實現代碼的重用,讓不同的類別共享通用的功能。
Dog 繼承自 Animal 類別,這意味著 Dog 可以使用 Animal 的屬性和方法。
Dog 覆寫了 make_sound 方法,使得它有自己的特殊行為。
class Animal:
def init(self, name):
self.name = name
def make_sound(self):
print("Some generic sound")
class Dog(Animal): # Dog 類別繼承自 Animal
def make_sound(self):
print(f"{self.name} barks.")
my_dog = Dog("Buddy")
my_dog.make_sound() # 輸出: Buddy barks.
例二:多型與方法覆寫
多型讓不同類別的物件可以通過相同的接口進行操作。當一個子類別覆寫父類別的方法時,這就是一種多型表現。在這個例子中,Dog 和 Cat 都繼承自 Animal,但它們有不同的 make_sound 方法。多型的概念允許不同的物件用同一個方法名稱,但表現出不同的行為。
class Cat(Animal):
def make_sound(self):
print(f"{self.name} meows.")
animals = [Dog("Buddy"), Cat("Whiskers")]
for animal in animals:
animal.make_sound()
這三天深入學習了 Python 的物件導向編程(OOP)基礎,從類別與物件的定義、屬性與方法的使用,到繼承與多型的應用。理解了如何透過 OOP 抽象現實世界問題,使程式更加結構化、可擴展和靈活。繼承和多型特別讓我看到代碼重用和靈活性的強大之處。