python创建写模式是什么,建造者模式菜鸟教程

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: