python面向?qū)ο骭詳談?lì)惖睦^承與方法的重載

1. 類的繼承與方法的重載


上面就是先定義了一個(gè)類A,然后由定義了一個(gè)類B,B繼承了類A,這樣B就有了A的非私有屬性和方法。
class Washer:
company='ZBL'
def __init__(self,water=10,scour=2):
self._water=water #不想讓用戶直接訪問實(shí)例變量,可以標(biāo)志成私有
self.scour=scour
self.year=2000#這是生產(chǎn)日期
#屬性包裝,將water屬性包裝成方法,用戶使用water時(shí)實(shí)際是訪問的方法
@staticmethod #定義一個(gè)靜態(tài)方法
def spins_ml(spins):
return spins*0.4
print('company:',Washer.company)
#print('year:',self.year)#錯(cuò)誤,靜態(tài)方法不能使用實(shí)例屬性
@classmethod
def get_washer(cls,water,scour):#cls相當(dāng)于實(shí)例方法中的self,調(diào)用是不用提供這個(gè)參數(shù)
return cls(water,cls.spins_ml(scour))#cls代表類名Washer,故不是硬編碼(改類名是不用改cls,若cls用類名代替也對,但若改類名這個(gè)地方也需要改動(dòng))
@property
def water1(self):#如果用戶使用 實(shí)例.water相當(dāng)于訪問這個(gè)方法,而不是真的訪問屬性
return self._water
@water1.setter
def water1(self,water):
if 0<water<=500:
self._water=water
else:
print('set Failure!')
@property
def total_year(self):
return 2017-self.year
def set_water(self,water):
self.water=water
def set_scour(self,scour):
self.scour=scour
def add_water(self):
print('Add water:',self._water)
def add_scour(self):
print('Add scour:',self.scour)
def start_wash(self):
self.add_water()
self.add_scour()
print('Start wash...')
class WasherDry(Washer):# 建立一個(gè)新類,繼承自Washer
def dry(self):#新類中可以定義只屬于子類的新方法
print('Dry cloths...')
def start_wash(self):#在子類中新定義與父類同名的方法就是方法的重載
self.add_scour()
self.add_water()
if __name__=='__main__':
## print(Washer.spins_ml (8))
## w=Washer()
## print(w.spins_ml(8))
## w=Washer(200,Washer.spins_ml(8))
## w.start_wash()
w=WasherDry()
w.start_wash()
print(w.scour,w.company)
w.dry()以上這篇python面向?qū)ο骭詳談?lì)惖睦^承與方法的重載就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python爬蟲實(shí)現(xiàn)爬取京東手機(jī)頁面的圖片(實(shí)例代碼)
下面小編就為大家分享一篇Python爬蟲實(shí)現(xiàn)爬取京東手機(jī)頁面的圖片實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-11-11
python中把嵌套的列表合并成一個(gè)列表方法總結(jié)
python中l(wèi)ist這種數(shù)據(jù)結(jié)構(gòu)很常用到,下面這篇文章主要給大家介紹了關(guān)于python中把嵌套的列表合并成一個(gè)列表方法的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
Windows系統(tǒng)配置python腳本開機(jī)啟動(dòng)的3種方法分享
這篇文章主要介紹了Windows系統(tǒng)配置python腳本開機(jī)啟動(dòng)的3種方法分享,本文講解了開始菜單啟動(dòng)項(xiàng)實(shí)現(xiàn)、開機(jī)腳本、通過一個(gè)服務(wù)調(diào)用該腳本三種方法,需要的朋友可以參考下2015-03-03
windows下Anaconda的安裝與配置正解(Anaconda入門教程)
最近很多朋友學(xué)習(xí)python,很多朋友也推薦使用anaconda這個(gè)工具,但安裝以后也不會(huì)使用,這里腳本之家小編就為大家整理一下比較詳細(xì)的教程,方便自己也方便需要的朋友,希望大家以后多多支持腳本之家2018-04-04
python實(shí)現(xiàn)將JSON文件中的數(shù)據(jù)格式化處理
JSON是一種輕量級的數(shù)據(jù)交換格式,常用于Web服務(wù)間的數(shù)據(jù)傳輸,Python內(nèi)置了??json??模塊,能夠方便地進(jìn)行JSON數(shù)據(jù)的解析與格式化,本文將通過具體的Python代碼實(shí)例,深入探討如何將JSON文件中的數(shù)據(jù)進(jìn)行格式化處理,需要的朋友可以參考下2024-03-03
python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能
這篇文章主要介紹了python實(shí)現(xiàn)郵件循環(huán)自動(dòng)發(fā)件功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09

