G
glomde
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)
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.
Cheers,
/T
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)
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.
Cheers,
/T