2015-06-18 267 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__(): 

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