国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python建造者模式是什么

python建造者模式是什么

python建造者模式

头像

小妮浅浅

2021-08-23 09:30:522433浏览 · 0收藏 · 0评论

说明

1、属于创建型模式,提供了创建对象的最佳方式。

2、该模式使用多个简单的对象逐步构建复杂的对象,Builder类逐步构建最终对象,该Builder类独立于其他对象。

由各部分的子对象用一定的算法构成,因为需求的变化,该复杂对象的各部分经常面临剧烈的变化,但结合起来的算法相对稳定。

实例

class Item:
    # Item类提供水果的基础信息的抽象类
    def set_name(self):
        pass
 
    def packing(self):
        pass
 
    def set_price(self):
        pass
 
    def set_weight(self):
        pass
 
    def promotion_price(self):
        pass
 
 
class Pack:
    # Pack管理水果的包装方式
    def pack(self):
        pass
 
 
class box_pack(Pack):
    # box-pack采用盒装方式
    def pack(self):
        return "盒装"
 
 
class bag_pack(Pack):
    # bag-pack采用袋装方式
    def pack(self):
        return "袋装"
 
 
class Grape(Item):
    # 葡萄类
    def packing(self):
        wrap = box_pack()
        return wrap
 
    def set_price(self):
        grape_price = 18.0
        return grape_price
 
    def set_name(self):
        grape_name = "葡萄"
        return grape_name
 
    def set_weight(self):
        grape_weight = 2.5
        return grape_weight
 
    def promotion_price(self):
        return 28.99
 
 
class Hami_Melon(Item):
    # 哈密瓜类
    def packing(self):
        wrap = bag_pack()
        return wrap
 
    def set_price(self):
        hami_melon_price = 22.0
        return hami_melon_price
 
    def set_name(self):
        hami_melon_name = "哈密瓜"
        return hami_melon_name
 
    def set_weight(self):
        hami_melon_weight = 3.2
        return hami_melon_weight
 
    def promotion_price(self):
        return 39.99
 
 
class Orange(Item):
    # 橘子大类
    def packing(self):
        wrap = bag_pack()
        return wrap
 
    def set_price(self):
        pass
 
 
class Citrus(Orange):
    # 柑橘类
    def set_price(self):
        citrus_price = 12.5
        return citrus_price
 
    def set_name(self):
        citrus_name = "柑橘"
        return citrus_name
 
    def set_weight(self):
        citrus_weight = 2.6
        return citrus_weight
 
    def promotion_price(self):
        return 18.88
 
 
class Tangerine(Orange):
    # 冰橘类
    def set_price(self):
        tangerine_price = 13.0
        return tangerine_price
 
    def set_name(self):
        tangerine_name = "冰橘"
        return tangerine_name
 
    def set_weight(self):
        citrus_weight = 3.3
        return citrus_weight
 
    def promotion_price(self):
        return 26.66
 
 
class Menu:
    def __init__(self):
        self.items = []
 
    def AddItem(self, item):
        # 添加item,即添加参与促销活动的水果
        self.items.append(item)
 
    def ShowItems(self):
        # ShowItem,展示参与促销活动的水果清单
        print("-*-" * 5 + "限时促销清单" + "-*-" * 10)
        for item in self.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)
 
 
class MenuBuilder:
    @staticmethod
    def PrepareMenu():
        # 构造清单,过程如下:
        menu = Menu()
        menu.AddItem(Grape())
        menu.AddItem(Citrus())
        menu.AddItem(Tangerine())
        menu.AddItem(Hami_Melon())
        return menu
 
 
if __name__ == '__main__':
    # 新建一个建造者
    menu_builder = MenuBuilder()
    # 建造促销活动的水果清单
    menu_object = menu_builder.PrepareMenu()
    # 展示参与促销活动的水果信息
    menu_object.ShowItems()

以上就是python建造者模式的介绍,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

三个老头拥着躁我一晚| 两个奶头被吃得又翘又肿特别疼 | 暴躁老妈全集观看免费版| 偷偷在线观看免费高清电视剧推荐 | 和妈妈做了怎么办心理咨询| 小蜜桃免费观看高清电视剧| 女被扒开腿狂躁XXXXX视频| 舌头伸进去添的我爽高潮| 少女与狗2在线观看免费版高清| 《部长连续几天让我失去理智》| 三男一女免费播放电视剧大全 | 9.1免费漫画网站NBA| 公翁晚上吃我奶头子| 台球室的特殊待遇2HD| 国产X9X9X9X9X9X任意...| 窝窝影院在线观看免费播放电视剧 | 兄弟换麦子4国语中字| 双飞娘俩国语版电视剧免费观看 | 窝窝影院在线观看免费播放电视剧 | 《办公室高潮秘书2》| 老头下边又粗又大又硬| 黑人空乘伦理5| 《家访的老师》动漫在线观看| 法国电影《女流氓》的剧情简介 | 我把校花嘴巴当套子的小说| 每日大赛| 肉多到炸的年下小狗(双南)| 做完放里面睡觉醒了继续| 儿媳妇免费播放全部电视剧| 韩剧在办公室做饭的电影影| 苍井空做爰高潮A片| 姐妹花破瓜双飞记的寓意和象征意..| 在婚房被伴郎C了2个小时| 姐妹花破瓜双飞记的寓意和象征意... | 《性爽2》电影| 禁忌| 美国伦理《轻佻寡妇》| 女子监狱理伦A片| 电影《法国空姐2》| 美国伦理小樱桃1| 《吃你吃上瘾》