【发布时间】:2014-04-20 11:24:21
【问题描述】:
我想在从class A继承class B的过程中隐藏一些公共方法:
class A(object):
def someMethodToHide():
pass
def someMethodToShow():
pass
class B(A):
pass
len(set(dir(A)) - set(dir(B))) == 1
如果可能的话,如何在 python 中做到这一点?
【问题讨论】:
-
您对子类的删除方法有什么用例?你确定要在这种情况下使用类继承吗?
-
您可以从只有要显示的方法的第三类 C 扩展 A 和 B。然后你可以只在A类中实现methodToHide。
-
@Selcuk 看起来这是实现它的最简单方法:)
-
@Ffisegydd 是的,因为根本不想要重复代码 - 不像 Java 那样需要与代码重复作斗争。
-
但我想我的观点是“你为什么只想部分继承超类?”如果它只订阅部分功能,它真的会被认为是一个子类吗?
标签: python