2015-06-18 189 views
0

假設我有一個父類A和一個子類B。現在A中有10個方法,而B只需要其中的三個方法。如何才能做到這一點?在Python中繼承類?

+4

不能'B'只忽視其他七種方法嗎?或者你能否將共享方法重構爲一個超級類,它既有'A'又有'B'分享,使它們成爲兄弟姐妹?如果您想要覆蓋類中的繼承方法,只需在該類定義中實現它們即可。 – jonrsharpe

+2

[Liskov替代原則](https://en.wikipedia.org/wiki/Liskov_substitution_principle)要求A的子類型B至少有A的接口。如果你不想要那個,那麼你可能不會這樣做, t想讓B成爲A的子類型。 – poke

+0

使其中有3個方法的父類。繼承父類的類A和類B. A類將保持其7種方法,而B類不會對它們有任何瞭解。與@jonrsharpe建議類似(我爲它+1),但我主張這種方法只是「忽略」其他七種方法,因爲如果你不是唯一的開發者,那麼有一天有人可能會忘記他們爲什麼「忽略」它們。 – Dan

回答

1

沒有什麼特別的。

只是繼承A類:

class B(A): 
    super(B, self).__init__(): 

使用/覆蓋你需要的方法,而忽略其他。