1. 程式人生 > >面向對象編程的三大特性:繼承、多態、封裝

面向對象編程的三大特性:繼承、多態、封裝

部分 lap super 屬性 完整 搜索 查找 AS 父類

九 子類中調用父類的方法

方法一:指名道姓,即父類名.父類方法()

技術分享圖片 View Code

方法二:super()

技術分享圖片 View Code

強調:二者使用哪一種都可以,但最好不要混合使用

了解部分:

即使沒有直接繼承關系,super仍然會按照mro繼續往後查找

技術分享圖片 View Code

指名道姓與super()的區別

技術分享圖片 View Code

當你使用super()函數時,Python會在MRO列表上繼續搜索下一個類。只要每個重定義的方法統一使用super()並只調用它一次,那麽控制流最終會遍歷完整個MRO列表,每個方法也只會被調用一次(註意註意註意:使用super調用的所有屬性,都是從MRO列表當前的位置往後找,千萬不要通過看代碼去找繼承關系,一定要看MRO列表

面向對象編程的三大特性:繼承、多態、封裝