91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python設計模式之工廠方法模式的示例分析

發布時間:2021-07-17 18:33:13 來源:億速云 閱讀:254 作者:小新 欄目:開發技術

這篇文章主要介紹了Python設計模式之工廠方法模式的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

工廠方法模式(Factory Method Pattern):定義一個用于創建對象的接口,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延時到其子類.

#!/usr/bin/env python
# -*- coding:utf-8 -*-
__author__ = 'Andy'
"""
大話設計模式
設計模式——工廠方法模式
工廠方法模式(Factory Method Pattern):定義一個用于創建對象的接口,讓子類決定實例化哪一個類,工廠方法使一個類的實例化延時到其子類.
工廠方法模式克服了簡單工廠模式違背開放-封閉原則的缺點,又保持了封裝對象創建過程的優點
場景:雷鋒工廠,不關心執行者,只關心執行結果
"""
class LeiFeng(object):
  def Sweep(self):
    print "掃地"
  def Wash(self):
    print "洗衣"
  def BuyRice(self):
    print "買米"
class IFactory(LeiFeng):
  def CreateLeiFeng(self):
    pass
#大學生
class Undergraduate(LeiFeng):
  pass
#新增社區服務者
class Volunteer(LeiFeng):
  pass
# 學習雷鋒的大學生工廠
class UndergraduateFactory(IFactory):
  def CreateLeiFeng(self):
    return Undergraduate()
#新增一個社區服務者的工廠e
class VolunteerFactory(IFactory):
  def CreateLeiFeng(self):
    return Volunteer()
if __name__ == "__main__":
  student = UndergraduateFactory()
  volunteer = VolunteerFactory()
  student.BuyRice()
  student.Sweep()
  volunteer.Wash()

運行結果:

買米
掃地
洗衣

上面類的設計如下圖:

Python設計模式之工廠方法模式的示例分析

創建一個抽象工廠類CreateLeiFeng和一個抽象對象類LeiFeng,當創建具體leifeng對象-Undergradiate去dosomething時,使用繼承抽象工廠的UndergraduateFactory工廠類,該類返回一個Undergradiate實例,如果還要去做另一個dosomething時,再創建一個VolunteerFactory工廠方法創建創建一個Volunteer實例就可以了。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Python設計模式之工廠方法模式的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽州县| 门头沟区| 肇东市| 宣威市| 汕头市| 广西| 九龙县| 厦门市| 金塔县| 广灵县| 龙陵县| 聂荣县| 沙坪坝区| 元氏县| 老河口市| 玉树县| 渭南市| 疏附县| 锦屏县| 治县。| 闽侯县| 宣恩县| 广州市| 本溪市| 东乡| 嘉鱼县| 镇赉县| 嘉定区| 湘西| 江陵县| 白沙| 四子王旗| 昌都县| 台中市| 鄂伦春自治旗| 天全县| 始兴县| 库车县| 金湖县| 开化县| 博罗县|