亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python設計模式之工廠方法模式實例詳解

 更新時間:2019年01月18日 09:07:58   作者:Andy冉明  
這篇文章主要介紹了Python設計模式之工廠方法模式,結合實例形式較為詳細的分析了工廠方法模式的概念、原理、用法及相關操作技巧,需要的朋友可以參考下

本文實例講述了Python設計模式之工廠方法模式。分享給大家供大家參考,具體如下:

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

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

運行結果:

買米
掃地
洗衣

上面類的設計如下圖:

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

更多關于Python相關內容可查看本站專題:《Python數(shù)據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • python進程管理工具supervisor安裝使用

    python進程管理工具supervisor安裝使用

    supervisor是一個用python語言編寫的進程管理工具,它可以很方便的監(jiān)聽、啟動、停止、重啟一個或多個進程,本文給大家介紹python進程管理工具supervisor安裝使用配置教程,感興趣的朋友一起看看吧
    2023-08-08
  • 如何使用python傳入不確定個數(shù)參數(shù)

    如何使用python傳入不確定個數(shù)參數(shù)

    這篇文章主要介紹了如何使用python傳入不確定個數(shù)參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • 深入探討opencv圖像矯正算法實戰(zhàn)

    深入探討opencv圖像矯正算法實戰(zhàn)

    在機器視覺中,對于圖像的處理有時候因為放置的原因導致ROI區(qū)域傾斜,這個時候我們會想辦法把它糾正為正確的角度視角來,本文主要介紹了opencv圖像矯正算法,感興趣的可以了解一下
    2021-05-05
  • Django admin實現(xiàn)TextField字段changelist頁面換行、空格正常顯示

    Django admin實現(xiàn)TextField字段changelist頁面換行、空格正常顯示

    本文主要介紹了Django admin實現(xiàn)TextField字段changelist頁面換行、空格正常顯示,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • pycharm2022.2遠程連接服務器調試代碼實現(xiàn)

    pycharm2022.2遠程連接服務器調試代碼實現(xiàn)

    本文主要介紹了pycharm2022.2遠程連接服務器調試代碼實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • python與js進行MD5取hash有什么不同

    python與js進行MD5取hash有什么不同

    這篇文章主要講解得內容是python與js進行MD5取hash有什么不同,我們在做前端做滲透測試時會遇到一些關鍵字進行了加密得情況,而且python和js對json進行md5取hash,MD5結果值還不一致,下面我們就爛看看到底是哪里不同吧,需要的朋友可以參考一下
    2022-02-02
  • Python imageio讀取視頻并進行編解碼詳解

    Python imageio讀取視頻并進行編解碼詳解

    今天小編就為大家分享一篇Python imageio讀取視頻并進行編解碼詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中print和return的作用及區(qū)別解析

    Python中print和return的作用及區(qū)別解析

    print的作用是輸出數(shù)據到控制端,就是打印在你能看到的界面上。這篇文章給大家介紹Python中print和return的作用及區(qū)別解析,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • 教你使用Python建立任意層數(shù)的深度神經網絡

    教你使用Python建立任意層數(shù)的深度神經網絡

    這篇文章主要介紹了Python建立任意層數(shù)的深度神經網絡,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • pip安裝tensorflow的坑的解決

    pip安裝tensorflow的坑的解決

    這篇文章主要介紹了pip安裝tensorflow的坑的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04

最新評論