2010-12-03 12 views
29

Başlığın dediği gibi, geçersiz kılınmış yöntemler dekoratörleri mi alıyor?Geçersiz kılınmış yöntemler python'da dekoratörleri miras alır mı?

class A: 
    @memoized 
    def fun(self, arg): 
     return None 


class B(A): 
    def fun(self, arg): 
     #computations 
     return something 

yüzden B.fun() dekoratör sağlıyor?

+5

Düşünmek mi? –

+1

-1 Buradan bir soru sormaktan daha hızlı bir şekilde kendiniz anlayabilirsiniz - bir cevap beklemekten bahsetme. – martineau

+12

Bunun, ilk denemediğim için bir düşüş hak ettiğini kabul etmem. Kesin bir cevapla kesin bir soru. Dekoratörlerin kendiniz nasıl yazılacağını anlamıyorsanız, kalıtımsal yöntemlerde dekoratörler kullanmak tamamen geçerlidir. – Falmarri

cevap

16

bu şekilde

class A(object): 
    def fun(self, arg): 
     return None 
    fun = memoized(fun) 
4

Hayır. Tamamen farklı bir işlev. Ama bunu kendiniz için sahte bir dekoratörle deneyebilirsiniz. Eğer, ne gözlemlemek vermedi güvenilir o

İlgili konular