python创建写模式是什么,建造者模式菜鸟教程
说明
1.它属于创造模式,提供了创建对象的最佳方式。
2.这个模型用几个简单的对象一步一步的构建复杂的对象,Builder类一步一步的构建最终的对象,这个对象独立于其他对象。
由不同部分组成的子对象由特定的算法组成。因为需求的变化,这个复杂对象的每一部分往往面临着剧烈的变化,但组合起来的算法却相对稳定。
实例
类别项目:
#Item类是一个抽象类,提供水果的基本信息。
defset_name(self):
及格
拆包(自身):
及格
defset_price(self):
及格
defset_weight(自身):
及格
defpromotion_price(self):
及格
classPack:
#Pack管理水果的包装。
defpack(self):
及格
classbox_pack(Pack):
#盒子包装是盒装的。
defpack(self):
返回“盒装”
classbag_pack(包):
#包-包是袋装的。
defpack(self):
返回“包”
classGrape(项目):
#葡萄
拆包(自身):
wrap=box_pack()
返回包装
defset_price(self):
葡萄价格=18.0
returngrape_price
defset_name(self):
葡萄名=葡萄
returngrape葡萄名
n
bsp;defset_weight(self):
grape_weight=2.5
returngrape_weight
defpromotion_price(self):
return28.99
classHami_Melon(Item):
#哈密瓜类
defpacking(self):
wrap=bag_pack()
returnwrap
defset_price(self):
hami_melon_price=22.0
returnhami_melon_price
defset_name(self):
hami_melon_name="哈密瓜"
returnhami_melon_name
defset_weight(self):
hami_melon_weight=3.2
returnhami_melon_weight
defpromotion_price(self):
return39.99
classOrange(Item):
#橘子大类
defpacking(self):
wrap=bag_pack()
returnwrap
defset_price(self):
pass
classCitrus(Orange):
#柑橘类
defset_price(self):
citrus_price=12.5
returncitrus_price
defset_name(self):
citrus_name="柑橘"
returncitrus_name
defset_weight(self):
citrus_weight=2.6
returncitrus_weight
defpromotion_price(self):
return18.88
classTangerine(Orange):
#冰橘类
defset_price(self):
tangerine_price=13.0
returntangerine_price
defset_name(self):
tangerine_name="冰橘"
returntangerine_name
defset_weight(self):
citrus_weight=3.3
returncitrus_weight
defpromotion_price(self):
return26.66
classMenu:
def__init__(self):
self.items=[]
defAddItem(self,item):
#添加item,即添加参与促销活动的水果
self.items.append(item)
defShowItems(self):
#ShowItem,展示参与促销活动的水果清单
print("-*-"*5+"限时促销清单"+"-*-"*10)
foriteminself.items:
print("◎Item:"+item.set_name()+"包装:"+item.packing().pack()+"原价:"+str(
item.set_price())+"元/千克"+"重量:"+str(item.set_weight())+"千克"+"\n限时促销价:"+
str(item.promotion_price())+"元!!!")
print("-*-"*5+"限时促销清单"+"-*-"*10)
classMenuBuilder:
@staticmethod
defPrepareMenu():
#构造清单,过程如下:
menu=Menu()
menu.AddItem(Grape())
menu.AddItem(Citrus())
menu.AddItem(Tangerine())
menu.AddItem(Hami_Melon())
returnmenu
if__name__=='__main__':
#新建一个建造者
menu_builder=MenuBuilder()
#建造促销活动的水果清单
menu_object=menu_builder.PrepareMenu()
#展示参与促销活动的水果信息
menu_object.ShowItems()以上就是python建造者模式的介绍,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。