一、Class的基本概念
Class是面向對象編程中的基本概念,它是一種抽象的數據類型,包含屬性和方法。Class定義了一類對象所共有的特徵和行為,在實際編程中,通過創建對象來實現對 Class 的調用。
在 Python 中,定義 Class 可以使用 class 關鍵字,語法如下:
class MyClass: pass
其中 MyClass 為 Class 的名稱,pass 表示一個空語句,用來保證語法的正確性。通過這段代碼,我們就創建了一個名為 MyClass 的 Class。
二、創建對象
在創建 Class 對象後,我們可以根據這個 Class 來創建實例對象,每個實例對象都有相同的方法,但各自擁有不同的屬性值。Class 的實例化使用函數的形式來實現,語法如下:
class MyClass: def __init__(self, name, age): self.name = name self.age = age obj = MyClass("Tom", 20) print(obj.name) # 輸出 Tom print(obj.age) # 輸出 20
在這個例子中,我們定義了 MyClass 類,並增加了構造函數 __init__()。self 表示實例對象本身,當調用類的 __init__() 方法時,self 會自動指向新創建的實例對象,這樣我們可以通過 self 來訪問實例對象的屬性和方法。
在實例化 MyClass 對象時,我們傳入了參數 name 和 age,並將它們分別保存到實例對象的屬性 name 和 age 中。最後我們通過訪問實例對象的屬性來輸出相應的值。
三、繼承
在 Python 中,一個 Class 可以繼承另一個 Class,這個過程稱為繼承。在繼承中,繼承的 Class 稱為父類(或超類),被繼承的 Class 稱為子類。子類可以使用父類的方法,也可以重寫父類的方法。
在 Python 中,繼承使用圓括弧表達式來實現,語法如下:
class ParentClass(): def some_method(self): print("在父類中定義") class ChildClass(ParentClass): def some_method(self): print("在子類中定義") c = ChildClass() c.some_method() # 輸出 「在子類中定義」
在這個例子中,我們創建了一個名為 ParentClass 的父類,其中包含了一個 some_method() 方法,在子類 ChildClass 中繼承父類 ParentClass 並重寫了 some_method() 方法,最終輸出了 「在子類中定義」。
四、多態
多態是面向對象編程重要的特性之一,它指的是同一個方法或者操作,可以應用於不同的對象上,產生不同的結果。
在 Python 中,實現多態可以通過繼承和重寫方法來完成,語法如下:
class Animal(): def __init__(self, name): self.name = name def sound(self): pass class Dog(Animal): def sound(self): return "汪汪汪" class Cat(Animal): def sound(self): return "喵喵喵" def make_sound(animal): print(animal.name, "的聲音是:", animal.sound()) d = Dog("小黃") c = Cat("小黑") make_sound(d) # 輸出「小黃 的聲音是: 汪汪汪」 make_sound(c) # 輸出「小黑 的聲音是: 喵喵喵」
在這個例子中,我們定義了一個 Animal 類,其中包含名稱屬性和一個 sound() 方法。Dog 類和 Cat 類繼承了 Animal 類,並重寫了 sound() 方法。make_sound 函數接收一個 Animal 對象作為參數,調用了傳入對象的 sound() 方法,並輸出相應的聲音。
五、總結
在 Python 中,Class 是面向對象編程的基本概念之一,它定義了一個抽象的數據類型,包含屬性和方法。通過創建實例對象來調用 Class,實例對象有著相同的方法,但不同的屬性值。Python 還提供了繼承和多態的支持,通過這兩種特性,可以方便地實現代碼的重用和靈活的變更。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/159914.html