亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

從父類繼承過程中,super()能不能不從父類全部繼承

#?Enter?a?code
class?Person(object):
????def?__init__(self,name,gender):
????????self.name?=?name
????????self.gender?=?gender
class?SkillMixin(object):
????def?__init__(self,skill):
????????self.skill?=?skill
class?Student(Person):
????def?__init__(self,name,gender,score):
????????super(Student,self).__init__(name,gender)
????????self.score?=?score
class?Tercher(Person):
????def?__init__(self,name,gender,course):
????????super(Tercher,self).__init__(name,gender)
????????self.course?=?course
class?BasketballMixin(SkillMixin):
????def?skill(self):
????????return?'Skill?is?basketball'
class?FootballMixin(SkillMixin):
????def?skill(self):
????????return?'Skill?is?football'
class?BStudent(Student,BasketballMixin):
????def?__init__(self,name,gender,score?=?0):
????????super(BStudent,self).__init__(name,gender,score)
class?FTercher(Tercher,FootballMixin):
????def?__init__(self,name,gender,course?=?'?'):
????????super(FTercher,self).__init__(name,gender,course)
????
s?=?BStudent('Bob','Male')
print('Studen\'s?name?is?{},?Gender?is?{},?Skill?is?{}.'.format(s.name,?s.gender?,s.skill()))
t?=?FTercher('Alice','Female')
print('Tercher\'s?name?is?{},?Gender?is?{},?Skill?is?{}.'.format(t.name,?t.gender?,t.skill()))

Line27和Line30,super()能不能不繼承父類的全部參數?

正在回答

1 回答

可以用私有屬性。

1、 super()._init_(param,param)這句話,調用了父類的初始化方法,那么如果需要傳父類初始化方法的全部參數,但可以設置默認參數,就可以不傳color這個參數,父類通過二個下劃線設置私有屬性。子類不能繼承。


1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

從父類繼承過程中,super()能不能不從父類全部繼承

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號