2016-01-06 15 views
0

例如: 我有一個名爲「MicroSDCard」的類,該類繼承自名爲「MemoryCard」的類,但它們之間有一個變化。 MicroSDCard可以獲得另一個稱爲頻率的值,並應使用如「self.max_freq」這樣的方法重新使用它。我怎樣才能做到這一點? 預先感謝您我該如何製作一個繼承python中另一個類的方法的類,但也只能改變某個特定方法的某個部分?

+1

您是否嘗試過使用「超級」功能? – tglaria

回答

0

一個例子:

class MemoryCard(object): 
    def __init__(self, size): 
     print ('MemoryCard size is ', size) 

class MicroSDCard(MemoryCard): 
    def __init__(self, max_freq, *args, **kw): 
     MemoryCard.__init__(self, *args, **kw) 
     self.max_freq = max_freq 


print ("MicroSDCard max_freq is ", MicroSDCard(5, size=3).max_freq) 
+1

非常感謝Yoav!但你能解釋一下「* args,** kw」的含義嗎?這對存儲卡有什麼影響? –

+0

@Gal Cesana這被稱爲參數打包/解包。請參閱http://hangar.runway7.net/python/packing-unpacking-arguments –

+0

登錄或註冊使用條款 –

0

也許是我沒有理解錯的話,但我會做到以下幾點:

  1. 重新編寫__init__方法MicroSDCard類與新的屬性。
  2. 對於任何使用此新屬性的方法,您需要在MicroSDCard類定義中重寫(超載)它。

這看起來太簡單了,所以我想我沒有得到你的問題:)

相關問題