Python: 设计模式 之 工厂模式例(2)(神奇的Python)
#!/usr/bin/env python #coding=utf-8 # # 工厂模式第二例(神奇的Python) # 版权所有 2014 yao_yu (http://blog.csdn.net/yao_yu_126) # 本代码以MIT许可协议发布 # 2014-04-22 # 在上一例中, 我使用了ObjectFactory. # 实际上因为Python的动态特性, 可以直接使用 eval(类名字符串) 的方式达到相应的目的 # class Cube(object): pass class Cuboid(object): pass class Cylinder(object): pass class Sphere(object): pass if __name__ == '__main__': def main(): for klass in (Cube, Cuboid, Cylinder, Sphere): klass = eval(klass.__name__) obj = klass() print(obj.__class__.__name__) main()
输出结果
Cube
Cuboid
Cylinder
Sphere