Currently, I have a @classmethod
that returns the right class given a variable. It looks something like:
class Parent():
@classmethod
def GetInstance(cls, variable):
if variable == 'foo':
return Child()
class Child(Parent):
def Something(self):
pass
instance = Parent.GetInstance('foo')
result = instance.Something()
I prefer not to define and use GetInstance
. Instead, I would like the Main()
to simply be:
instance = Parent('foo')
result = instance.Something()
While keeping all the benefits of the structure above. I want class Parent()
to return an object of class Child()
when called, without the need of using a method. __init__
unfortunately does not seem to help, as it cannot return anything. Any ideas?