您可以使用自己的装饰器。但这是一个技巧,仅适用于您控制实现的类。
def override(method): method.is_overridden = True return methodclass Super: def __init__(self): if hasattr(self.method, 'is_overridden'): print 'different' else: print 'same' @classmethod def method(cls): passclass Sub1(Super): @override def method(self): print 'hi'class Sub2(Super): passSuper() # should be sameSub1() # should be differentSub2() # should be same>>> same>>> different>>> same
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)