Python面向?qū)ο笾鄳B(tài)原理與用法案例分析
本文實(shí)例講述了Python面向?qū)ο笾鄳B(tài)原理與用法。分享給大家供大家參考,具體如下:
目標(biāo)
多態(tài)
面向?qū)ο笕筇匦?/h2>
封裝 根據(jù) 職責(zé) 將 屬性 和 方法 封裝 到一個(gè)抽象的 類 中
定義類的準(zhǔn)則
繼承 實(shí)現(xiàn)代碼的重用,相同的代碼不需要重復(fù)的編寫
設(shè)計(jì)類的技巧
子類針對(duì)自己特有的需求,編寫特定的代碼
多態(tài) 不同的 子類對(duì)象 調(diào)用相同的 父類方法,產(chǎn)生不同的執(zhí)行結(jié)果
多態(tài) 可以 增加代碼的靈活度
以 繼承 和 重寫父類方法 為前提
是調(diào)用方法的技巧,不會(huì)影響到類的內(nèi)部設(shè)計(jì)
多態(tài)案例演練
需求
1.在 Dog 類中封裝方法 game
普通狗只是簡單的玩耍
2.定義 XiaoTianDog 繼承自 Dog,并且重寫 game 方法
哮天犬需要在天上玩耍
3.定義 Person 類,并且封裝一個(gè) 和狗玩 的方法
在方法內(nèi)部,直接讓 狗對(duì)象 調(diào)用 game 方法
案例小結(jié)
Person 類中只需要讓 狗對(duì)象 調(diào)用 game 方法,而不關(guān)心具體是 什么狗
game 方法是在 Dog 父類中定義的
在程序執(zhí)行時(shí),傳入不同的 狗對(duì)象 實(shí)參,就會(huì)產(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)建一個(gè)狗對(duì)象 # wangcai = Dog("旺財(cái)") wangcai = XiaoTianDog("飛天旺財(cái)") # 2. 創(chuàng)建一個(gè)小明對(duì)象 xiaoming = Person("小明") # 3. 讓小明調(diào)用和狗玩的方法 xiaoming.game_with_dog(wangcai)
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python面向?qū)ο蟪绦蛟O(shè)計(jì)入門與進(jìn)階教程》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
常用python數(shù)據(jù)類型轉(zhuǎn)換函數(shù)總結(jié)
這篇文章主要介紹了常用的python數(shù)據(jù)類型轉(zhuǎn)換函數(shù),并用實(shí)際例子說明了這些函數(shù)的用法,需要的朋友可以參考下2014-03-03Django實(shí)現(xiàn)后臺(tái)上傳并顯示圖片功能
這篇文章主要介紹了Django實(shí)現(xiàn)后臺(tái)上傳并顯示圖片功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-05-05Python利用模糊哈希實(shí)現(xiàn)對(duì)比文件相似度
對(duì)比兩個(gè)文件相似度,python中可通過difflib.SequenceMatcher/ssdeep/python_mmdt/tlsh實(shí)現(xiàn),<BR>在大量需要對(duì)比,且文件較大時(shí),需要更高的效率,可以考慮模糊哈希,本文就來和大家詳細(xì)聊聊2023-01-01Python實(shí)現(xiàn)批量提取Word中的表格
表格在word文檔中常見的文檔元素之一,操作word文件時(shí)有時(shí)需要提取文件中多個(gè)表格的內(nèi)容到一個(gè)新的文件,本文給大家分享兩種批量提取文檔中表格的兩種方法,希望對(duì)大家有所幫助2024-02-02將python文件打包exe獨(dú)立運(yùn)行程序方法詳解
這篇文章主要介紹了將python文件打包exe獨(dú)立運(yùn)行程序方法詳解,需要的朋友可以參考下2020-02-02