All pastes #436270 Raw Edit

jflash

public python v1 · immutable
·published 2007-04-12 12:24 UTC
rendered paste body
class A(object):    def do_your_stuff(self):        # do stuff with self for A        print "a"    class B(A):    def do_your_stuff(self):        next_class = self.find_out_whos_next()        #print next_class        next_class.do_your_stuff(self)        print "b"    def find_out_whos_next(self):        l = self.supertypes_list        mypos = l.index(B)        return l[mypos+1]     class C(A):    def do_your_stuff(self):        next_class = self.find_out_whos_next()        #print next_class        next_class.do_your_stuff(self)        print "c"    def find_out_whos_next(self):        l = self.supertypes_list        mypos = l.index(C)        return l[mypos+1] class D(B,C):    def do_your_stuff(self):        next_class = self.find_out_whos_next()        next_class.do_your_stuff(self)        print "d"    def find_out_whos_next(self):        l = self.supertypes_list        mypos = l.index(D)        return l[mypos+1] B.supertypes_list = [B,A]C.supertypes_list = [C,A]D.supertypes_list = [D,B,C,A]if __name__ == "__main__" :    foobar = D()    foobar.do_your_stuff()