本篇文章給大家分享的是有關Python中多態的原理是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
多態
封裝 根據 職責 將 屬性 和 方法 封裝 到一個抽象的 類 中
定義類的準則
繼承 實現代碼的重用,相同的代碼不需要重復的編寫
設計類的技巧
子類針對自己特有的需求,編寫特定的代碼
多態 不同的 子類對象 調用相同的 父類方法,產生不同的執行結果
多態 可以 增加代碼的靈活度
以 繼承 和 重寫父類方法 為前提
是調用方法的技巧,不會影響到類的內部設計
需求
1.在 Dog 類中封裝方法 game
普通狗只是簡單的玩耍
2.定義 XiaoTianDog 繼承自 Dog,并且重寫 game 方法
哮天犬需要在天上玩耍
3.定義 Person 類,并且封裝一個 和狗玩 的方法
在方法內部,直接讓 狗對象 調用 game 方法
案例小結
Person 類中只需要讓 狗對象 調用 game 方法,而不關心具體是 什么狗
game 方法是在 Dog 父類中定義的
在程序執行時,傳入不同的 狗對象 實參,就會產生不同的執行效果
多態 更容易編寫出出通用的代碼,做出通用的編程,以適應需求的不斷變化!
class Dog(object): def __init__(self, name): self.name = name def game(self): print("%s 蹦蹦跳跳的玩耍..." % self.name) class XiaoTianDog(Dog): def game(self): print("%s 飛到天上去玩耍..." % self.name) class Person(object): def __init__(self, name): self.name = name def game_with_dog(self, dog): print("%s 和 %s 快樂的玩耍..." % (self.name, dog.name)) # 讓狗玩耍 dog.game() # 1. 創建一個狗對象 # wangcai = Dog("旺財") wangcai = XiaoTianDog("飛天旺財") # 2. 創建一個小明對象 xiaoming = Person("小明") # 3. 讓小明調用和狗玩的方法 xiaoming.game_with_dog(wangcai)
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
以上就是Python中多態的原理是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。