第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

子類繼承父類的時(shí)候 需要把父類里面的所有參數(shù)寫一遍嗎?那要是多重繼承 祖先類的 入?yún)⒃趺磳懀?/h1>

class Person(object):

? ? def __init__(self, name, gender):

? ? ? ? self.name = name

? ? ? ? self.gender = gender

class Student(Person):

? ? def __init__(self, name, gender, score):

? ? ? ? super(Student, self).__init__(name, gender)

? ? ? ? self.score = score

class Boos(object):

? ? def __init__(self, boosName, boosGender):

? ? ? ? self.boosName = boosName

? ? ? ? self.boosGender = boosGender

class Teacher(Student,Boos):

? ? def __init__(self, name, gender, score,course,boosName, boosGender):

? ? ? ? super(Teacher, self).__init__(name, gender, score,boosName, boosGender)

? ? ? ? self.course = course


? ? ? ??

問題1: 多重繼承的時(shí)候super(Teacher, self).__init__(name, gender, score,boosName, boosGender)?

? ? ? ? ?Student? ?__init__(self, name, gender, score)

? ? ? ? ?Boos? ? ? __init__(self, boosName, boosGender)

? ? ? ? ?父類接受參數(shù)的是后是按順序接收的不能對(duì)應(yīng)到我傳的參數(shù)吧?

? ? ? ? ?結(jié)果?

? ? ? ? ?boosName --> name?

? ? ? ? ?boosGender? --> gender??

? ? ? ? ?

問題2: 這樣遞增的入?yún)⒂袥]有好的寫法呢?一個(gè)類里面有幾十個(gè)參數(shù)的話是不是得每個(gè)參數(shù)都要傳?



正在回答

1 回答

當(dāng)Python子類繼承父類時(shí),通常不需要重新列出所有的參數(shù),只需要在子類的初始化方法中調(diào)用父類的初始化方法即可。這樣可以確保子類繼承了父類的屬性和方法。

對(duì)于多重繼承和祖先類的情況,子類需要在初始化方法中分別調(diào)用每個(gè)父類的初始化方法,以確保所有祖先類的屬性和方法都被正確繼承。在Python中,可以使用super()函數(shù)來實(shí)現(xiàn)這一點(diǎn),它可以幫助子類調(diào)用父類的方法。

以下是一個(gè)示例代碼,展示了Python中子類繼承父類以及多重繼承時(shí)如何處理參數(shù)的情況:

class?Parent1:
????def?__init__(self,?param1):
????????self.param1?=?param1

class?Parent2:
????def?__init__(self,?param1,?param2):
????????self.param1?=?param1
????????self.param2?=?param2

class?Child(Parent1,?Parent2):
????def?__init__(self,?param1,?param2,?param3):
????????super().__init__(param1)??#?調(diào)用第一個(gè)父類的初始化方法
????????super(Parent1,?self).__init__(param2)??#?調(diào)用第二個(gè)父類的初始化方法
????????self.param3?=?param3

child_obj?=?Child('A',?'B',?'C')
print(child_obj.param1)??#?輸出:B
print(child_obj.param2)??#?輸出:B
print(child_obj.param3)??#?輸出:C


0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消

子類繼承父類的時(shí)候 需要把父類里面的所有參數(shù)寫一遍嗎?那要是多重繼承 祖先類的 入?yún)⒃趺磳懀?/h1> 我要回答 關(guān)注問題

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)