日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python建造者模式是什么

說明

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷策劃、微信小程序定制開發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十年以來,已經(jīng)為上1000+成都軟裝設(shè)計(jì)各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的上1000+客戶與我們一路同行,見證我們的成長(zhǎng);未來,我們一起分享成功的喜悅。

1、屬于創(chuàng)建型模式,提供了創(chuàng)建對(duì)象的最佳方式。

2、該模式使用多個(gè)簡(jiǎn)單的對(duì)象逐步構(gòu)建復(fù)雜的對(duì)象,Builder類逐步構(gòu)建最終對(duì)象,該Builder類獨(dú)立于其他對(duì)象。

由各部分的子對(duì)象用一定的算法構(gòu)成,因?yàn)樾枨蟮淖兓?,該?fù)雜對(duì)象的各部分經(jīng)常面臨劇烈的變化,但結(jié)合起來的算法相對(duì)穩(wěn)定。

實(shí)例

class Item:
    # Item類提供水果的基礎(chǔ)信息的抽象類
    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,即添加參與促銷活動(dòng)的水果
        self.items.append(item)
 
    def ShowItems(self):
        # ShowItem,展示參與促銷活動(dòng)的水果清單
        print("-*-" * 5 + "限時(shí)促銷清單" + "-*-" * 10)
        for item in self.items:
            print("◎Item:" + item.set_name() + " 包裝:" + item.packing().pack() + " 原價(jià):" + str(
                item.set_price()) + "元/千克" + " 重量:" + str(item.set_weight()) + "千克" + "\n        限時(shí)促銷價(jià):" +
                  str(item.promotion_price()) + "元!!!")
        print("-*-" * 5 + "限時(shí)促銷清單" + "-*-" * 10)
 
 
class MenuBuilder:
    @staticmethod
    def PrepareMenu():
        # 構(gòu)造清單,過程如下:
        menu = Menu()
        menu.AddItem(Grape())
        menu.AddItem(Citrus())
        menu.AddItem(Tangerine())
        menu.AddItem(Hami_Melon())
        return menu
 
 
if __name__ == '__main__':
    # 新建一個(gè)建造者
    menu_builder = MenuBuilder()
    # 建造促銷活動(dòng)的水果清單
    menu_object = menu_builder.PrepareMenu()
    # 展示參與促銷活動(dòng)的水果信息
    menu_object.ShowItems()

以上就是python建造者模式的介紹,希望對(duì)大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


分享名稱:創(chuàng)新互聯(lián)Python教程:python建造者模式是什么
當(dāng)前URL:http://www.5511xx.com/article/djijepg.html