Jan Eden wrote: > Now my question is: How can I turn an object of class X into an > object of either class Y or Z while (retaining all the attributes > defined so far).
This is easy, in fact - you can change the class of an instance by assigning to its __class__ attribute: >>> class F(object): ... def p(self): print "F" ... >>> class G(object): ... def p(self): print "G" ... >>> f=F() >>> f.p() F >>> type(f) <class '__main__.F'> >>> f.__class__ = G >>> f.p() G >>> type(f) <class '__main__.G'> > > I know I could solve the problem by using another switch statement - > but is there consistent OOP solution for this problem? I'm not sure I would call this solution OO or pretty but it does work. Kent -- http://www.kentsjohnson.com _______________________________________________ Tutor maillist - [email protected] http://mail.python.org/mailman/listinfo/tutor
