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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在多個子類中使用父類對象以在python中的子類中使用父對象中的所有設置變量

如何在多個子類中使用父類對象以在python中的子類中使用父對象中的所有設置變量

撒科打諢 2022-10-05 18:19:51
class A():    def __init__(self, a, b):        self.a = a        self.b = bclass B(A):    def __init__(self, c):        self.c = cclass C(A):    def __init__(self, d):        self.d = dtemp = A("japan", "Germany")childtemp1 = B("California")childtemp2 = C("Delhi")有時我將 B 類和 C 類用于兩個不同的目的,但它們都有一些相同的公共變量,這些變量存在于 A 類中,并且 A 類已經實例化。我在一些更多不同的類中使用這個類 B 和 C,我想同時使用類(A 和 B)和類(A 和 C)的變量。
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

如果你想訪問a, b, cusingchildtemp1你需要a, b, c在創建對象時通過


class A():

    def __init__(self, a, b):

        self.a = a

        self.b = b


class B(A):

    def __init__(self, a, b, c):

        self.c = c

        A.__init__(self, a, b)


class C(A):

    def __init__(self, a, b, d):

        self.d = d

        A.__init__(self, a, b)


childtemp1 = B("Japan", "Germany", "California")

childtemp2 = C("Japan", "Germany", "Delhi")

print(childtemp1.a, childtemp1.b, childtemp1.c)

print(childtemp2.a, childtemp2.b, childtemp2.d)

輸出:


Japan Germany California

Japan Germany Delhi

您可以使用父對象創建子類


class A():

    def __init__(self, a, b):

        self.a = a

        self.b = b


    def __repr__(self):

        return "a = " + str(self.a) + " b = " + str(self.b) 


class B(A):


    def __init__(self, parent, c):

        self.c = c

        A.__init__(self, parent.a, parent.b)


    def __repr__(self):

      return  super().__repr__()+ " c = " + str(self.c)


class C(A):


    def __init__(self, parent, d):

        self.d = d

        A.__init__(self, parent.a, parent.b)


    def __repr__(self):

        return  super().__repr__()+ " d = " + str(self.d)


temp = A("Japan", "Germany")

childtemp1 = B(temp, 'India')

childtemp2 = C(temp, 'USA')


print(childtemp1)

print(childtemp2)

輸出:


a = Japan b = Germany c = India

a = Japan b = Germany d = USA


查看完整回答
反對 回復 2022-10-05
?
忽然笑

TA貢獻1806條經驗 獲得超5個贊

這個例子可以幫助你理解


class A():

    def __init__(self, a, b):

        self.a = a

        self.b = b


    def print_variables(self):

        print(self.a , " ", self.b, end = "  ")


class B(A):

    def __init__(self, a,b,c):

        super(B, self).__init__(a,b)

        self.c = c


    def show(self):

        super(B, self).print_variables()

        print(self.c)


childtemp1 = B("a","b","c")


childtemp1.show()

輸出


a   b  c


查看完整回答
反對 回復 2022-10-05
  • 2 回答
  • 0 關注
  • 116 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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