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中子類與父類的關系內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: