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

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

子類繼承父類的時候 需要把父類里面的所有參數寫一遍嗎?那要是多重繼承 祖先類的 入參怎么寫?

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: 多重繼承的時候super(Teacher, self).__init__(name, gender, score,boosName, boosGender)?

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

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

? ? ? ? ?父類接受參數的是后是按順序接收的不能對應到我傳的參數吧?

? ? ? ? ?結果?

? ? ? ? ?boosName --> name?

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

? ? ? ? ?

問題2: 這樣遞增的入參有沒有好的寫法呢?一個類里面有幾十個參數的話是不是得每個參數都要傳?



正在回答

1 回答

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

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

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

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)??#?調用第一個父類的初始化方法
????????super(Parent1,?self).__init__(param2)??#?調用第二個父類的初始化方法
????????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 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

子類繼承父類的時候 需要把父類里面的所有參數寫一遍嗎?那要是多重繼承 祖先類的 入參怎么寫?

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

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

幫助反饋 APP下載

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

公眾號

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