¿Cómo detectar la sobrecarga de métodos en subclases en python?
Tengo una clase que es una superclase para muchas otras clases. Me gustaría saber (en elen es () de mi superclase si la subclase ha anulado un método específico.
Intenté lograr esto con un método de clase, pero los resultados fueron incorrectos:
class Super:
def __init__(self):
if self.method == Super.method:
print 'same'
else:
print 'different'
@classmethod
def method(cls):
pass
class Sub1(Super):
def method(self):
print 'hi'
class Sub2(Super):
pass
Super() # should be same
Sub1() # should be different
Sub2() # should be same
>>> same
>>> different
>>> different
Existe alguna forma de que una superclase sepa si una subclase ha anulado un método?