Hi, my program uses an initial "switch" statement to create an object:
valid_types = dict( pages=Show.Page, syndicated=Show.Syndicated, authors=Show.Author, author_list=Show.AuthorList, galleries=Show.Gallery, pictures=Show.Picture, slideshow=Show.SlidePicture, tex=Show.Tex, blogs=Show.Blog, blogentries=Show.BlogEntry, search=Show.Search, search_author=Show.SearchAuthor, not_found=Show.NotFound ) # ... code ommitted... page = valid_types[type]]() For a certain class, it is only during the execution of the __ini__ method that I can distinguish between two subtypes (subclasses). The subclasses define two different versions of method A. 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). I know I could solve the problem by using another switch statement - but is there consistent OOP solution for this problem? Thanks, Jan -- Hanlon's Razor: Never attribute to malice that which can be adequately explained by stupidity. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor