2013-12-15 65 views
2

我有兩個類A和B,B是A的子類。首先初始化實例A,並傳遞用戶選擇的特定名稱。然後創建任意數量的B實例,並使用它們所屬的超類A的名稱進行初始化。假設有一個A的實例,並在B的初始化中指定了名稱,我將如何去從B的每個實例向A發送信息?將信息從一個實例發送到具有python中特定名稱的另一個實例

class A: 
    def __init__(self,name): 
     self.name=name 

class B(A): 
    def __init__(self,someinfo,A_name): 
     self.someinfo=someinfo 
     self.A_name=A_name 

我該如何去發送屬性'someinfo',或者就此而言,任何信息,從B到給定的A實例?

回答

3

你可以用的

class B: 
    def __init__(self, someinfo, a_instance): 
    self.someinfo = someinfo 
    self.a_instance = a_instance 

    def send_message_to_a(self): 
    self.a_instance.a_function(self.someinfo) 

a = A() 
bs = [B('hi', a) for i in range(random.randint(1, 10))] 
for b in bs: 
    b.send_message_to_a() # calls the a function passing someinfo 

另外一個實例初始化B,因爲你擁有它設定B似乎不是一個在所有的子類?

+1

哦,我明白了,所以不是將它分配給A實例的名稱,而是將A的實例傳遞給B(在這種情況下,實例是a)。這很有道理,謝謝! – user3002473

相關問題