python中子類與父類的關系基礎知識點

在對於python中類的使用上,我們分出瞭子類和父類兩種。對於這二者之間的關系,我們可以簡單理解為繼承。不過python中加入瞭實例的討論,那麼對於繼承後的子類來說,父類的實例是否被繼承又是我們所需要思考的問題。下面我們就子類和父類進行簡單介紹,然後就二者之間的繼承關系重點分析。

1.概念

子類和父類主要描述的是類之間的繼承關系,即所屬關系。繼承的類可在被繼承的類的基礎上添加格外的參數和行為,新類稱為子類,擴展類;被繼承的類稱為基類、父類或者超類。

2.繼承關系

子類與父類的關系是 “is” 的關系,如上 Cat 繼承於 Animal 類,我們可以說:

“A”是 Animal 類的實例,但,“A”不是 Cat 類的實例。

“C”是 Animal 類的實例,“C”也是 Cat 類的實例。

判斷對象之間的關系,我們可以通過 isinstance (變量,類型) 來進行判斷:

print('"A" IS Animal?', isinstance(A, Animal))
print('"A" IS Cat?', isinstance(A, Cat))
print('"C" IS Animal?', isinstance(C, Animal))
print('"C" IS Cat?', isinstance(C, Cat))

Python實現子類調用父類的方法

python和其他面向對象語言類似,每個類可以擁有一個或者多個父類,它們從父類那裡繼承瞭屬性和方法。如果一個方法在子類的實例中被調用,或者一個屬性在子類的實例中被訪問,但是該方法或屬性在子類中並不存在,那麼就會自動的去其父類中進行查找。

繼承父類後,就能調用父類方法和訪問父類屬性,而要完成整個集成過程,子類是需要調用的構造函數的。

子類不顯式調用父類的構造方法,而父類構造函數初始化瞭一些屬性,就會出現問題
如果子類和父類都有構造函數,子類其實是重寫瞭父類的構造函數,如果不顯式調用父類構造函數,父類的構造函數就不會被執行,導致子類實例訪問父類初始化方法中初始的變量就會出現問題。

到此這篇關於python中子類與父類的關系基礎知識點的文章就介紹到這瞭,更多相關python中子類與父類的關系內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!