1. 類的繼承與方法的過載
上面就是先定義了乙個類a,然後由定義了乙個類b,b繼承了類a,這樣b就有了a的非私有屬性和方法。
class washer:
company='zbl'
def __init__(self,water=10,scour=2):
self._water=water #不想讓使用者直接訪問例項變數,可以標誌成私有
self.scour=scour
self.year=2000#這是生產日期
#屬性包裝,將water屬性包裝成方法,使用者使用water時實際是訪問的方法
@staticmethod #定義乙個靜態方法
def spins_ml(spins):
return spins*0.4
print('company:',washer.company)
#print('year:',self.year)#錯誤,靜態方法不能使用例項屬性
@classmethod
def get_washer(cls,water,scour):#cls相當於例項方法中的self,呼叫是不用提供這個引數
return cls(water,cls.spins_ml(scour))#cls代表類名washer,故不是硬編碼(改類名是不用改cls,若cls用類名代替也對,但www.cppcns.com若改類名這個地方也需要改動)
@property
def water1(self):#如果使用者使用 例項.water相當於訪問這個方法,而不程式設計客棧是真的訪問屬性
return self._water
@water1.setter
def water1(self,water):
if 0www.cppcns.come:
print('set failure!')
@property
def total_year(self):
return 2017-self.year
movmjo 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):# 建立乙個新類,繼承自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物件導向_詳談類的繼承與方法的過載
本文位址: /jiaoben/python/193000.html
python物件導向(類和物件)
物件導向程式設計的2個非常重要的概念 類和物件 物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類 類就相當於製造飛機時的圖紙,用它來進行建立的飛機就相當於物件 賓士汽車 類 賓士smart 類 張三的那輛賓士smart 物件 狗...
python物件導向 類與物件
嗯,本學期開始學python物件導向的內容了,唔,前面的內容會在後期有時間慢慢補的。類與物件 我生活中有這樣一句話叫 物以類聚,人以群分 重點是前面那句,什麼是類呢,就是一類事物,比如人類 動物類 這是乙個大的範圍 類是封裝物件的屬性和行為的載體,反過來說,具有相同屬性和行為的一類實體被稱為類 而物...
Python 物件導向 類和物件
類 和 物件 是物件導向程式設計的 兩個 核心概念 類就相當於製造飛機時的圖紙,是乙個模板,是負責建立物件的 物件就相當於用圖紙製造的飛機 在開發過程中,應該先有類,再有物件 類中定義了什麼屬性和方法,物件中就有什麼屬性和方法,不可能多,也不可能少 在使用物件導向開發前,應該首先分析需求,確定一下,...