天天看點

面向對象(Python):學習筆記之多态

多态

1.封裝 根據職責将屬性和方法封裝到一個抽象的類中

定義類的标準

2.繼承 實作代碼的重用,相同的代碼不需要重複的編寫

設計類的技巧

子類針對自己特有的需求,編寫特定的代碼3.

3.多态 不同的子類對象調用相同的父類方法,産生不同的執行結果

多态可以增加代碼的靈活度

以繼承和重寫父類方法為前提

是調用方法的技巧,不會影響到類的内部設計

面向對象(Python):學習筆記之多态

在Dog類中封裝方法

game:普通狗隻是在簡單的玩耍

定義XiaoTianDog繼承自Dog,并重寫方法

game:哮天犬需要在天上玩耍

定義Person類,并且封裝一個和狗玩的方法

在方法内部,直接讓狗對象調用game方法

面向對象(Python):學習筆記之多态
面向對象(Python):學習筆記之多态

案例小結

Person類中隻需要讓狗對象調用game方法,而不關心具體是什麼狗

game方法是在Dog父類中定義的

在程式執行時,傳入不同的狗對象實參,會産生不同的執行效果

繼續閱讀