<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                [TOC] # 簡單工廠模式 ## 函數實現 ~~~ # 定義伊蘭特車類 class YilanteCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 定義索納塔車類 class SuonataCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 用來生成具體的對象 def createCar(typeName): if typeName == "伊蘭特": car = YilanteCar() elif typeName == "索納塔": car = SuonataCar() return car # 定義一個銷售北京現代車的店類 class CarStore(object): def order(self, typeName): # 讓工廠根據類型,生產一輛汽車 car = createCar(typeName) return car ~~~ ## 類來實現 ~~~ # 定義伊蘭特車類 class YilanteCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 定義索納塔車類 class SuonataCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 定義一個生產汽車的工廠,讓其根據具體的訂單生產車 class CarFactory(object): def createCar(self,typeName): if typeName == "伊蘭特": car = YilanteCar() elif typeName == "索納塔": car = SuonataCar() return car # 定義一個銷售北京現代車的店類 class CarStore(object): def __init__(self): #設置4s店的指定生產汽車的工廠 self.carFactory = CarFactory() def order(self, typeName): # 讓工廠根據類型,生產一輛汽車 car = self.carFactory.createCar(typeName) return car ~~~ # 工廠方法模式 ~~~ # 定義一個基本的4S店類 class CarStore(object): #僅僅是定義了有這個方法,并沒有實現,具體功能,這個需要在子類中實現 def createCar(self, typeName): pass def order(self, typeName): # 讓工廠根據類型,生產一輛汽車 self.car = self.createCar(typeName) self.car.move() self.car.stop() # 定義一個北京現代4S店類 class XiandaiCarStore(CarStore): def createCar(self, typeName): self.carFactory = CarFactory() return self.carFactory.createCar(typeName) # 定義伊蘭特車類 class YilanteCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 定義索納塔車類 class SuonataCar(object): # 定義車的方法 def move(self): print("---車在移動---") def stop(self): print("---停車---") # 定義一個生產汽車的工廠,讓其根據具體得訂單生產車 class CarFactory(object): def createCar(self,typeName): self.typeName = typeName if self.typeName == "伊蘭特": self.car = YilanteCar() elif self.typeName == "索納塔": self.car = SuonataCar() return self.car suonata = XiandaiCarStore() suonata.order("索納塔") ~~~ 定義了一個創建對象的接口(可以理解為函數),但由子類決定要實例化的類是哪一個,工廠方法模式讓類的實例化推遲到子類,抽象的CarStore提供了一個創建對象的方法createCar,也叫作工廠方法。 子類真正實現這個createCar方法創建出具體產品。創建者類不需要直到實際創建的產品是哪一個,選擇了使用了哪個子類,自然也就決定了實際創建的產品是什么
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看