class School(object):
----def init(self,name,addr): #構(gòu)造函數(shù),用來初始化
--------self.name=name
--------self.addr=addr
--------self.staffs=[]
--------self.students=[]

----def enroll(self,stu_obj): #注冊學(xué)生
--------print("為學(xué)員 %s 辦理注冊手續(xù)" %stu_obj.name)
---- ----self.students.append(stu_obj)
---- def hire(self, staff_obj): #雇傭老師
--------print("雇 %s 為老師" % staff_obj.name)
--------self.staffs.append(staff_obj)
class schoolMember(object):
----def init(self,name,age,sex):
--------self.name=name
-------- self.age=age
---------self.sex=sex
----def tell(self):
--------pass
class Teacher(schoolMember):#新式類繼承法,繼承父類schoolMember
----def init(self,name,age,sex,salary,course):
--------super(Teacher,self).init(name,age,sex) #新式類繼承法
--------self.salary=salary
-------- self.course=course
----def tell(self):
--------print('''----info of Teacher:%s----
--------Name:%s
--------Age:%s
--------Sex:%s
--------Salary:%s
--------Course:%s
--------''' % (self.name,self.name,self.age,self.sex,self.salary,self.course))
----def teach(self): #教學(xué)
--------print(" %s is teaching course[%s]" % (self.name,self.course))
class student(schoolMember):#繼承
----def init(self,name,age,sex,stu_id,grade):
--------super(student,self).init(name,age,sex) # 新式類寫法,是用來解決多重繼承問題的,
#在super機(jī)制里可以保證公共父類僅被執(zhí)行一次,至于執(zhí)行的順序,是按照mro進(jìn)行的(E.mro)。
#注意super繼承只能用于新式類,用于經(jīng)典類時(shí)就會報(bào)錯。
#新式類:必須有繼承的類,如果沒什么想繼承的,那就繼承object
#經(jīng)典類:沒有父類,如果此時(shí)調(diào)用super就會出現(xiàn)錯誤:『super() argument 1 must be type, not classobj』,
--------self.stu_id=stu_id
-------- self.grade=grade
def tell(self): #介紹自己,重構(gòu)父類方法
print('''---info of Teacher:%s ---
Name=%s
Age=%s
Sex=%s
Stu_id=%s
Grade=%s
''' %(self.name,self.name,self.age,self.sex,self.stu_id,self.grade))
def pay_tution(self,amount):
print("% s has paid tution for $%s" %(self.name,amount))school=School('old boy1','沙河') #實(shí)例化一個學(xué)校
t1=Teacher("李明",33,'F',15000,"Linux") #實(shí)例化一個老師
t2=Teacher("李立",23,'M',12000,"python")
s1=student("王麗",19,'F',1001,'Linux')#實(shí)例化一個學(xué)生
s2=student("李麗明",23,'M',1002,'python')
school.enroll(s1) #學(xué)校注冊一個學(xué)生
school.enroll(s2) #學(xué)校注冊一個學(xué)生
school.hire(t1) #學(xué)校雇傭一個老師
school.hire(t2) #學(xué)校雇傭一個老師
t1.tell()
s1.tell()
print(school.students) #打印學(xué)生列表
print(school.staffs)
school.staffs[0].teach() #讓老師講課
for stu in school.students:
stu.pay_tution(5000) #交學(xué)費(fèi)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
分享標(biāo)題:Python:類的繼承實(shí)例-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://www.chinadenli.net/article48/docihp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、云服務(wù)器、網(wǎng)頁設(shè)計(jì)公司、軟件開發(fā)、關(guān)鍵詞優(yōu)化、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)