Mega Code Archive

 
Categories / Python / Class
 

Virtual function

class Super:     def method(self):         print 'in Super.method'            def delegate(self):         self.action()                  class Inheritor(Super):                    pass class Replacer(Super):                     def method(self):         print 'in Replacer.method' class Extender(Super):                     def method(self):         print 'starting Extender.method'         Super.method(self)         print 'ending Extender.method' class Provider(Super):                     def action(self):         print 'in Provider.action' if __name__ == '__main__':     for klass in (Inheritor, Replacer, Extender):         print '\n' + klass.__name__ + '...'         klass().method()     print '\nProvider...'     x = Provider()     x.delegate()