2010-08-13 81 views
3

相同功能我有兩個類,假設A和B在B,I實例A.訪問從兩個不同的類

我具有由兩個類所需的功能func()

我應該怎麼辦?我原以爲這種做法的:

class A: 
    func() 

class B: 
    x = A() 
    func() 

def func(): 

然後我可以從內部訪問FUNC()或B.是這種方法確定或是否有更好的方法來做到這一點(可能使用面向對象的方法)

請注意,我是面向對象編程的新手,這就是爲什麼我有興趣知道我是否可以將任何OO設計應用於此。

編輯:該函數可以在它所需的參數上有所不同。

+0

[從類中在python不同的類中調用方法](可能重複http://stackoverflow.com/questions/3311987/calling -python) – 2010-08-13 18:04:53

+0

這是什麼古怪的語法?你爲什麼要在類聲明中調用一個函數? – rfw 2010-08-14 23:45:49

回答

1

定義func然後再定義任何一個類,它將對兩個都可用。

+0

這是一個很好的做法嗎?或者這是設計不佳的結果。 – Chris 2010-08-13 18:09:13

+0

據我所知,這是最簡單的方法,正如Python的禪說:「簡單比複雜更好。」# – 2010-08-13 18:13:05

+2

@Chris:可能是好的,可能是壞的。這取決於func是什麼以及類是什麼。在Python中,像這樣的模塊級函數並不是非法的,就像它們在Java中一樣(儘管我應該注意到Java人有幾種模式可以解決這個問題),並且模塊級函數在標準Python庫中使用相當多, 例如。 – 2010-08-13 18:15:14

0

FUNC這裏可以我共同的基類的方法

class Base(object): 
    def func(): 
     #... 
class A(Base): 
    #... 
class B(Base): 
    #... 
相關問題