類(lèi)的繼承:一個(gè)類(lèi)繼承另一個(gè)類(lèi),自動(dòng)擁有這個(gè)類(lèi)的屬性和方法,類(lèi)似于包含與被包含的關(guān)系。被繼承的類(lèi)稱(chēng)為父類(lèi)--子類(lèi)則是繼承父類(lèi)的類(lèi)。一個(gè)父類(lèi)可以有多個(gè)子類(lèi);一個(gè)子類(lèi)可以有多個(gè)父類(lèi)(多繼承)
問(wèn)題
創(chuàng)建子類(lèi)時(shí),要是直接進(jìn)行調(diào)用,系統(tǒng)會(huì)報(bào)錯(cuò),必須對(duì)子類(lèi)進(jìn)行實(shí)例化。那要如何對(duì)子類(lèi)進(jìn)行實(shí)例化呢?
方法
首先先創(chuàng)造父類(lèi),將其屬性定義,然后創(chuàng)建多個(gè)子類(lèi)(格式子類(lèi)(父類(lèi))),接著對(duì)子類(lèi)實(shí)例化,在對(duì)子類(lèi)實(shí)例化時(shí)也要將屬性補(bǔ)充完整。
代碼清單
錯(cuò)誤示范:
#父類(lèi):將所有類(lèi)的公共屬性和方法進(jìn)行統(tǒng)一定義
class Dad():
def init (self,greet,demandmoney):
print('老爸我沒(méi)生活費(fèi)了!')
self.greet=greet
self.demandmoney=demandmoney
def f(self):
print('{}今天你很帥,{}'.format(self.greet,self.demandmoney))
def ff(ff):
print('我沒(méi)錢(qián)耍朋友了')
#子類(lèi)(父類(lèi)):可繼承父類(lèi)所有屬性
class Girl(Dad):
pass #mean do nothing 但是仍然擁有父類(lèi)的屬性和方法
class Son(Dad):
pass #mean do nothing
a=Girl()
a.ff()
a.f()
運(yùn)行結(jié)果:Traceback (most recent call last):
File "D:/123456/
456.py", line 16, in
a=Girl()
TypeError: Dad. init () missing 2 required positional arguments: 'greet' and 'demandmoney'
正確代碼:
#父類(lèi):將所有類(lèi)的公共屬性和方法進(jìn)行統(tǒng)一定義
class Dad():
def init (self,greet,demandmoney):
print('老爸我沒(méi)生活費(fèi)了!')
self.greet=greet
self.demandmoney=demandmoney
def f(self):
print('{}今天你很帥,{}'.format(self.greet,self.demandmoney))
def ff(ff):
print('我沒(méi)錢(qián)耍朋友了')
#子類(lèi)(父類(lèi)):可繼承父類(lèi)所有屬性
class Girl(Dad):
pass #mean do nothing 但是仍然擁有父類(lèi)的屬性和方法
class Son(Dad):
def son(self):#子類(lèi)可以擁有自己的屬性與方法
print('老爸我想多一點(diǎn)生活費(fèi)')
#a=Girl()
#a.ff()
#a.f()
#創(chuàng)建對(duì)象(將子類(lèi)進(jìn)行實(shí)類(lèi)化)
a=Girl('老爸早上好',1500)
a.ff()
a.f()
b=Son('老爸早上好',2000)
b.ff()
b.f()
b.son()
打印結(jié)果 :老爸我沒(méi)生活費(fèi)了!
我沒(méi)錢(qián)耍朋友了
老爸早上好今天你很帥,1500
老爸我沒(méi)生活費(fèi)了!
我沒(méi)錢(qián)耍朋友了
老爸早上好今天你很帥,2000
老爸我想多一點(diǎn)生活費(fèi)
結(jié)語(yǔ)
通過(guò)此次實(shí)驗(yàn),我們更加了解了類(lèi)的繼承,以及要對(duì)子類(lèi)實(shí)例化,對(duì)其實(shí)例化時(shí)也要將屬性補(bǔ)充完整。
-
編程
+關(guān)注
關(guān)注
90文章
3710瀏覽量
96979 -
繼承
+關(guān)注
關(guān)注
0文章
10瀏覽量
2869
發(fā)布評(píng)論請(qǐng)先 登錄
關(guān)于Java繼承的問(wèn)題
Python多重繼承使用方法
C++ 多繼承類(lèi) 虛基類(lèi)分享
淺析多繼承派生類(lèi)中的虛基類(lèi)
python類(lèi)的繼承
什么是繼承?
Java類(lèi)的繼承與派生
Java繼承怎么寫(xiě)
構(gòu)造函數(shù)(類(lèi))繼承的方式與實(shí)驗(yàn)
Android溫習(xí)之路之繼承
簡(jiǎn)述類(lèi)的繼承
評(píng)論