File: LP6E/Chapter32/hack_class2.py
class Hack:
numInstances = 0 # Trace class passed in
def __init__(self):
Hack.numInstances += 1
def printNumInstances(cls):
print('Number of instances:', cls.numInstances, cls)
printNumInstances = classmethod(printNumInstances)
class Sub(Hack):
def printNumInstances(cls): # Override a class method
print('Extra stuff...', cls) # But call back to original
Hack.printNumInstances()
printNumInstances = classmethod(printNumInstances)
class Other(Hack): pass # Inherit class method verbatim