使用Python我希望实现以下目标。
fruit = Fruit()
fruit.add_item('apple')
fruit.apple.add_color('red')
fruit.apple.add_taste('sweet')
fruit.add_item("lemon")
fruit.lemon.add_color('yellow')
fruit.lemon.add_taste('bitter')
即。我需要从字符串创建一个子类。这似乎是一种常见的设计模式。这将如何实现?
答案 0 :(得分:2)
看起来你实际上不需要创建任何子类。更确切地说:
class OneFruit(object):
def add_color(self, color):
self.color = color
def add_taste(self, taste):
self.taste = taste
class Fruit(object):
def add_item(self, name):
setattr(self, name, OneFruit())
这个简单的代码符合您的示例。如果你想要的是非常不同的东西,请做一个不同的例子并相应地编辑你的问题! - )