Class hierarchy problem

BrJohan brjohan at gmail.com
Tue Aug 6 05:10:17 EDT 2013


I'm in need of help to solve this Python (ver. 3.3) problem:

I have a hierarchy of classes (SubA, SubAB, SubB, ..., SubBCA, 
SubC,...), each of which is inheriting from a chain of superclasses with 
a common baseclass(Sup) on top. (So far, no problem)

Now, I want to create instances of the correct subclasstype as decided 
by the common baseclass, like this:
	
i = Sup(args_allowing_the_baseclass_to_deduce_correct_subclass)

where i can be of any class except Sup itself (as decided by Sup)

Now, the problem:

How to design the __new__() and __init__() methods for the various 
classes in order to achieve what I want?

(Some ten years I had the same problem (in a different context) and was 
helped by asking in this group. However, the solution has disappeared. 
Maybe the 2.x solution is not the same as in 3.x?)



More information about the Python-list mailing list