class truck: def use(self): return "拉货" def __str__(self): return "大卡车"class minicar: def use(self): return "带妹兜风" def __str__(self): return "小轿车"# 定义一个大卡车工厂,作用是创建对象class truck_factory(): def makecar(self): return truck() def makewheel(self): return "生产大轮子"# 定义一个小汽车工厂class car_factory(): def makecar(self): return minicar() def makewheel(self): return "生产小轮子"# 定义一个方法用于调用工厂类生产相关的对象产品def Factorys(): #也可以在工厂列表中再添加工厂类 factory = [car_factory(),truck_factory()] # 此处我选择了car_factory工厂进行对象的创建 return factory[0]#定义一个“商店”类,类中创建方法用于展示“商品”对象。class carstop: def __init__(self,factory = None): self.Factorys = factory def showcar(self): car = self.Factorys.makecar() wheel = self.Factorys.makewheel() print("*"*25) print("我是一辆%s" % (car)) print("我能用%s%s" %(car,car.use())) print("%s 工厂也能够 %s"%(car,wheel)) print("*"*25)# 实现对象调用if __name__ =="__main__": carstop(Factorys()).showcar()程序运行结果如下:*************************我是一辆小轿车我能用小轿车带妹兜风小轿车 工厂也能够 生产小轮子*************************抽象工厂模式之我见:1.适合用在面向对象编程时,在创建一系列函数方法不确定,对象类型不确定时。2.抽象工厂模型创建的对象没有个性,即生产的对象没有属性。若要添加属性,对其进行实例化。3.抽象工厂模式非常灵活,可以再进行扩展,生产不同种类的对象,创建各种方法,即添加“工厂”类,再定义函数。
转载于:https://www.cnblogs.com/kuangkuangduangduang/p/10110690.html
相关资源:Python设计模式之抽象工厂模式
转载请注明原文地址: https://win8.8miu.com/read-7113.html