Code: Alles auswählen
from new import instancemethod
class X(object):
def __init__(self, x):
if x:
def t(self):
print "A"
else:
def t(self):
print "B"
self.__setattr__('t', instancemethod(t, self, X))
X(1).t()
X(0).t()
Code: Alles auswählen
from new import instancemethod
class X(object):
def __init__(self, x):
if x:
def t(self):
print "A"
else:
def t(self):
print "B"
self.__setattr__('t', instancemethod(t, self, X))
X(1).t()
X(0).t()
Code: Alles auswählen
class X(object):
def __init__(self, x):
if x:
def t():
print "A"
else:
def t():
print "B"
self.t = t
X(1).t()
X(0).t()
Eine Factoryfunktion instantiiert ganz einfach in Abhänigkeit von Parametern Objekte von nunterschiedlichen Klassen. Damit hast Du einen zentralen Objekterzeuger und musst selbst nicht immer Fallunterscheidungen implementieren.sape hat geschrieben:Sorry wenn ich hier so reinplatze. Was sind Factory-Funktion? :? Sowas wie Closures?BlackJack hat geschrieben:Oder in diesem Beispiel alternativ eine Factory-Funktion die eines von zwei Objekten zurückgibt.