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.抽象工厂模式非常灵活,可以再进行扩展,生产不同种类的对象,创建各种方法,即添加“工厂”类,再定义函数。
继续阅读与本文标签相同的文章
上一篇 :
游戏“过等保”,其实不难!
-
Agentless监控实践中的预警指标采集
2026-05-19栏目: 教程
-
企业为什么要上云?企业如何上云?
2026-05-19栏目: 教程
-
工作流在Kubernetes集群中的实践
2026-05-19栏目: 教程
-
如何从5万设备中找出频繁掉线设备,长期不在线的设备?
2026-05-19栏目: 教程
-
零售数据观(一):如何花30分钟成为一个标签设计“达人”
2026-05-19栏目: 教程
