注意:它是用python编写的。简化代码是
class main:
def __init__(self):
pass
def unneededfunction(self):
print("unneeded thing")
class notmain(main):
def __init__(self):
pass
#code for getting rid of unneededfunction here
问题是,如何使notmain.unneededfunction不存在(即调用它会导致错误)
Tags:
我研究了一下,我想我会放一个delattr。 在代码中(如果有其他人出现):
您是否需要删除它?(即,它抛出一个属性错误)。或者你能逃脱部分继承吗
这里的第一个答案应该针对后者: How to perform partial inheritance
如果您只是想让它在调用时抛出一个错误,那么应该可以:
或者您可以尝试在构建类时讨论的Mixin方法: Is it possible to do partial inheritance with Python?
如果您不希望
notmain
具有unneededfunction
,那么notmain
不应该是main
的子类。以这种方式与制度抗争,它破坏了整个继承点如果您确实坚持这样做,
notmain
可以重新定义unneededfunction
,并引发与unneededfunction
不存在时相同的异常,AttributeError
。但是,你又一次违反了规则除此之外,您不能从
notmain
中删除unneededfunction
,因为notmain
不拥有该方法,而其父类main
拥有该方法相关问题 更多 >
编程相关推荐