版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο笕筇匦越K電子職業(yè)學(xué)院Python物聯(lián)網(wǎng)03多態(tài)面向?qū)ο蠖鄳B(tài)概念所有屬于同一個(gè)類的對(duì)象都具有相同的特性和操作所謂多態(tài)(polymorphism),是指基類的同一個(gè)方法在不同派生類對(duì)象中具有不同的表現(xiàn)和行為。派生類繼承了基類行為和屬性之后,還會(huì)增加某些特定的行為和屬性;派出類還可能會(huì)對(duì)繼承來的某些行為進(jìn)行一定的改變,比如重寫。Python大多數(shù)運(yùn)算符可以作用于多種不同類型的操作數(shù),并且對(duì)于不同類型的操作數(shù)往往有不同的表現(xiàn),這本身就是多態(tài),是通過特殊方法與運(yùn)算符重載實(shí)現(xiàn)的。多態(tài)表現(xiàn)所有屬于同一個(gè)類的對(duì)象都具有相同的特性和操作同一個(gè)方法talk()在不同派生類對(duì)象中具有不同的表現(xiàn)和行為。classAnimal:#同一類事物:動(dòng)物
deftalk(self):passclassCat(Animal):#動(dòng)物的形態(tài)之一:貓
deftalk(self):print('喵喵喵')classDog(Animal):#動(dòng)物的形態(tài)之二:狗
deftalk(self):print('汪汪汪')classPig(Animal):#動(dòng)物的形態(tài)之三:豬
deftalk(self):print('哼哼哼')cat=Cat()cat.talk()dog=Dog()dog.talk()pig=Pig()pig.talk()面向?qū)ο蠖鄳B(tài)表現(xiàn)所有屬于同一個(gè)類的對(duì)象都具有相同的特性和操作對(duì)于上一頁(yè)的方法重寫表現(xiàn)的多態(tài),我們可以更進(jìn)一步。我們可以定義一個(gè)統(tǒng)一的接口(方法)來使用talk()方法。
defdotalk(self,animal):
animal.talk()通過父類變量調(diào)用doalk()方法,傳入子類對(duì)象。傳入子類的對(duì)象不同,表現(xiàn)出不同的形態(tài)。classAnimal:#同一類事物:動(dòng)物
deftalk(self):passdefdotalk(self,animal):animal.talk()classCat(Animal):#動(dòng)物的形態(tài)之一:貓
deftalk(self):print('喵喵喵')classDog(Animal):#動(dòng)物的形態(tài)之二:狗
deftalk(self):print('汪汪汪')classPig(Animal):#動(dòng)物的形態(tài)之三:豬
deftalk(self):print('哼哼哼')a=Animal()#創(chuàng)建父類對(duì)象cat=Cat()a.dotalk(cat)#通過父類變量調(diào)用方法,傳入子類對(duì)象。dog=Dog()a.dotalk(dog)pig=Pig()a.dotalk(pig)Isinstance和issubclass多態(tài)所有屬于同一個(gè)類的對(duì)象都具有相同的特性和操作Isinstance:isinstance可以判斷一個(gè)變量是否是某一種數(shù)據(jù)類型;還可以某個(gè)對(duì)象是否是這個(gè)類或其子類的對(duì)象。返回的是一個(gè)bool類型數(shù)據(jù),True或False。issubclass:用來判斷一個(gè)類是否是某個(gè)類的子類,返回的是一個(gè)bool類型數(shù)據(jù),True或False。classFoo:def__init__(self,name,age):=nameself.age=age
classSon(Foo):passobj=Son("xiaoming",18)#輸出Obj是不是FOO或其子類的對(duì)象print(isinstance(obj,Foo))#輸出Son是不是Foo的子類print(issubclass(Son,Foo))用面向?qū)ο髢?yōu)化數(shù)據(jù)庫(kù)操作多態(tài)應(yīng)用所有屬于同一個(gè)類的對(duì)象都具有相同的特性和操作在一個(gè)系統(tǒng)中數(shù)據(jù)庫(kù)連接不同的模塊經(jīng)常用到,所以數(shù)據(jù)庫(kù)可以定義成一個(gè)共用的類,包含一個(gè)數(shù)據(jù)庫(kù)連接方法。每一個(gè)數(shù)據(jù)庫(kù)表的增、刪、改、查封裝成一個(gè)類,包括insert(),delete(),update(),serach()等方法。importpymysqlclassConnDb:defconn(host,user,passwd,db):passimportpymysqlImportConnDb#導(dǎo)入數(shù)據(jù)庫(kù)連接模塊classstudentDAO:definsertStu(self,tupleStu):passdefdeleteStu(self,id):passdefupdateStu(self,tupleStu):passdefserachStu(self,id):passdefserachAll(self):passPython語言程序設(shè)計(jì)3.多態(tài)應(yīng)用:用面向?qū)ο髢?yōu)化數(shù)據(jù)庫(kù)操作在一個(gè)系統(tǒng)中數(shù)據(jù)庫(kù)連接不同的模塊經(jīng)常用到,所以數(shù)據(jù)庫(kù)可以定義成一個(gè)共用的類,包含一個(gè)數(shù)據(jù)庫(kù)連接方法。每一個(gè)數(shù)據(jù)庫(kù)表的增、刪、改、查封裝成一個(gè)類,包括insert(),delete(),update(),serach()等方法。importpymysqlclassConnDb:defconn(host,user,passwd,db):passimportpymysqlImportConnDb#導(dǎo)入數(shù)據(jù)庫(kù)連接模塊classstudentDAO:definsertStu(self,tupleStu):passdefdeleteStu(self,id):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑模板研發(fā)與技術(shù)支持合同4篇
- 臨時(shí)工勞動(dòng)合同范本(2024版)
- 中醫(yī)承師合同模板
- 2025版外貿(mào)鞋子購(gòu)銷合同模板:品牌設(shè)計(jì)合作協(xié)議3篇
- 2025年度汽車維修行業(yè)深度合作框架協(xié)議
- 二零二五年度解除租賃合同及約定租賃物租賃期限變更協(xié)議
- 二零二五年度洗車行業(yè)培訓(xùn)與認(rèn)證協(xié)議
- 2025年度市政基礎(chǔ)設(shè)施竣工驗(yàn)收合同
- 二零二五年度勞動(dòng)合同解除員工離職賠償金支付協(xié)議
- 二零二五年度水利工程測(cè)繪數(shù)據(jù)保密協(xié)議書
- 2024年中國(guó)醫(yī)藥研發(fā)藍(lán)皮書
- 廣東省佛山市 2023-2024學(xué)年五年級(jí)(上)期末數(shù)學(xué)試卷
- 臺(tái)兒莊介紹課件
- 疥瘡病人的護(hù)理
- 人工智能算法與實(shí)踐-第16章 LSTM神經(jīng)網(wǎng)絡(luò)
- 17個(gè)崗位安全操作規(guī)程手冊(cè)
- 2025年山東省濟(jì)南市第一中學(xué)高三下學(xué)期期末統(tǒng)一考試物理試題含解析
- 中學(xué)安全辦2024-2025學(xué)年工作計(jì)劃
- 網(wǎng)絡(luò)安全保障服務(wù)方案(網(wǎng)絡(luò)安全運(yùn)維、重保服務(wù))
- 現(xiàn)代科學(xué)技術(shù)概論智慧樹知到期末考試答案章節(jié)答案2024年成都師范學(xué)院
- 軟件模塊化設(shè)計(jì)與開發(fā)標(biāo)準(zhǔn)與規(guī)范
評(píng)論
0/150
提交評(píng)論