簡單了解Python多態(tài)與屬性運(yùn)行原理
1.多態(tài)是指?jìng)魅氩煌膶?duì)象,產(chǎn)生不同的結(jié)果
多態(tài)指的是一類事物有多種形態(tài)(一個(gè)抽象類有多個(gè)子類,因而多態(tài)的概念依賴于繼承)
定義:多態(tài)是一種使用對(duì)象的方法,子類重寫父類方法,調(diào)用不同子類對(duì)象的父類方法,可以產(chǎn)生不同的執(zhí)行結(jié)果
好處:調(diào)用靈活,有了多態(tài),更容易編寫出通用的代碼。
代碼展示:
class Dog(object): def work(self): print(’指哪打哪’)class ArmyDog(Dog): def work(self): print(’追擊敵人’)class DrugDog(Dog): def work(self): print(’追查毒品’)class Person(object): def work_with_dog(self, dog): dog.work()ad = ArmyDog()dd = DrugDog()daqiu = Person()daqiu.work_with_dog(ad)daqiu.work_with_dog(dd)
2.類屬性就是類對(duì)象所擁有的屬性,它被該類的所有實(shí)例對(duì)象所共有
類屬性可以使用類對(duì)象或?qū)嵗龑?duì)象訪問。
例如:
class Dog(object): tooth = 10wangcai = Dog()xiaohei = Dog()print(Dog.tooth)print(wangcai.tooth)print(xiaohei.tooth)
得出的結(jié)果都為:10
記錄的某項(xiàng)數(shù)據(jù)始終保持一致時(shí),定義類屬性
實(shí)例屬性要求每個(gè)對(duì)象為其單獨(dú)開辟一份內(nèi)存空間來記錄數(shù)據(jù),而類屬性為全類所共有,僅占用一份內(nèi)存,更加節(jié)省內(nèi)存空間。
3.修改類屬性
類屬性只能通過類對(duì)象修改,不能通過實(shí)例對(duì)象修改,如果通過實(shí)例對(duì)象修改類屬性,表示的是創(chuàng)建了一個(gè)實(shí)例屬性
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python調(diào)用接口合并Excel表代碼實(shí)例2. ASP.NET MVC實(shí)現(xiàn)橫向展示購物車3. ASP.Net Core(C#)創(chuàng)建Web站點(diǎn)的實(shí)現(xiàn)4. ASP.Net Core對(duì)USB攝像頭進(jìn)行截圖5. 通過CSS數(shù)學(xué)函數(shù)實(shí)現(xiàn)動(dòng)畫特效6. 一文透徹詳解.NET框架類型系統(tǒng)設(shè)計(jì)要點(diǎn)7. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁8. ajax動(dòng)態(tài)加載json數(shù)據(jù)并詳細(xì)解析9. Python快速將ppt制作成配音視頻課件的操作方法10. .net如何優(yōu)雅的使用EFCore實(shí)例詳解
