On May 29, 8:52 pm, glomde <[EMAIL PROTECTED]> wrote: > Hi I wonder if you can set what subclass a class should > have at instance creation. > > The problem is that I have something like: > > class CoreLang(): > def AssignVar(self, var, value): > pass > > class Lang1(CoreLang): > def AssignVar(self, var, value): > return var, "=", value > > class Lang2(CoreLang): > def AssignVar(self, var, value): > return var, "<=", value > > class WriteStruct(): > def Generate(self, vars): > for var in vars: > print self.AssignVar() > > The problem is that I want WriteStruct to sometimes be a subclass of > Lang1 and sometimes > of Lang2. > In the above example I could but the Generate Method in CoreLang. But > in my real > example I also want to able to subclass WriteStruct to be able to easy > customize WriteStruct. > Which I wouldnt be able to do if it was a method in CoreLang. > > So in code I would like to write something like: > > WriteStruct(Lang1).Generate(vars)
class WriteStruct: def __init__(self, SubClass): self._sub = SubClass() def Generate(self, vars): for var in vars: print self._sub.AssignVar() > Even better would be that if I in the Lang1 class could > just do WriteStruct().Generate(vars) and Lang1 class would > magically make WriteStruct a subclass of itself. > I don't think I understood what you want here. Ram -- http://mail.python.org/mailman/listinfo/python-list