本篇文章給大家分享的是有關(guān)Python中多態(tài)的原理是什么,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
多態(tài)
封裝 根據(jù) 職責(zé) 將 屬性 和 方法 封裝 到一個抽象的 類 中
定義類的準(zhǔn)則
繼承 實現(xiàn)代碼的重用,相同的代碼不需要重復(fù)的編寫
設(shè)計類的技巧
子類針對自己特有的需求,編寫特定的代碼
多態(tài) 不同的 子類對象 調(diào)用相同的 父類方法,產(chǎn)生不同的執(zhí)行結(jié)果
多態(tài) 可以 增加代碼的靈活度
以 繼承 和 重寫父類方法 為前提
是調(diào)用方法的技巧,不會影響到類的內(nèi)部設(shè)計
需求
1.在 Dog 類中封裝方法 game
普通狗只是簡單的玩耍
2.定義 XiaoTianDog 繼承自 Dog,并且重寫 game 方法
哮天犬需要在天上玩耍
3.定義 Person 類,并且封裝一個 和狗玩 的方法
在方法內(nèi)部,直接讓 狗對象 調(diào)用 game 方法
案例小結(jié)
Person 類中只需要讓 狗對象 調(diào)用 game 方法,而不關(guān)心具體是 什么狗
game 方法是在 Dog 父類中定義的
在程序執(zhí)行時,傳入不同的 狗對象 實參,就會產(chǎn)生不同的執(zhí)行效果
多態(tài) 更容易編寫出出通用的代碼,做出通用的編程,以適應(yīng)需求的不斷變化!
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. 創(chuàng)建一個狗對象 # wangcai = Dog("旺財") wangcai = XiaoTianDog("飛天旺財") # 2. 創(chuàng)建一個小明對象 xiaoming = Person("小明") # 3. 讓小明調(diào)用和狗玩的方法 xiaoming.game_with_dog(wangcai)
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
以上就是Python中多態(tài)的原理是什么,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享題目:Python中多態(tài)的原理是什么-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://jinyejixie.com/article18/dsehgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、建站公司、關(guān)鍵詞優(yōu)化、服務(wù)器托管、品牌網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容