我试图创造一种相信(在我的无知中)被称为类工厂。从本质上讲,我有一个父类,我想采取一个__init__
的论点,并成为几个孩子类之一。我发现推荐StackOverflow上here这样的一个例子,它看起来像这样:改变__type__的后果
class Vehicle(object):
def __init__(self, vtype):
self.vtype = vtype
if vtype=='c':
self.__class__ = Car
elif vtype == 't':
self.__class__ = Truck
我heard,改变__type__
可能是危险的。这种方法有没有消极的方法?我会使用一个函数来动态创建对象,但它不适用于我正在使用的现有代码。它期望我计划进行动态类型更改的课程。
谢谢!
改变'__type__'比更危险;这太疯狂了。有更好的方法来进行。 – 2010-10-20 22:49:31