欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python面向對象編程——什么是面向對象的程序設計

系統 1666 0

Python面向對象編程——什么是面向對象的程序設計

一、面向過程的程序設計

1、概念

核心是“過程”二字,“過程”指的是解決問題的步驟,即先干什么再干什么......基于面向過程設計程序就好比在設計一條流水線,是一種機械式的思維方式。若程序一開始是要著手解決一個大的問題,面向過程的基本設計思路就是把這個大的問題分解成很多個小問題或子過程,這些子過程在執行的過程中繼續分解,直到小問題足夠簡單到可以在一小步驟范圍內解決。

2、優點

復雜的問題流程化,進而簡單化(一個復雜的問題,分成一個個小的步驟去實現,實現小的步驟將會非常簡單)

舉個典型的面向過程的例子, 寫一個數據遠程備份程序, 分三步,本地數據打包,上傳至云服務器,測試備份文件可用性。

          
            import os

def data_backup(folder):
    print("找到備份目錄: %s" %folder)
    print('正在備份......')
    zip_file='/tmp/backup20181103.zip'
    print('備份成功,備份文件為: %s' %zip_file)
    return zip_file

def cloud_upload(file):
    print("\nconnecting cloud storage center...")
    print("cloud storage connected.")
    print("upload file...%s...to cloud..." %file)
    link='http://www.xxx.com/bak/%s' %os.path.basename(file)
    print('close connection.....')
    return link

def data_backup_test(link):
    print("\n下載文件: %s , 驗證文件是否無損" %link)

def main():
    #步驟一:本地數據打包
    zip_file = data_backup("c:\\users\\alex\歐美100G高清無碼")

    #步驟二:上傳至云服務器
    link=cloud_upload(zip_file)

    #步驟三:測試備份文件的可用性
    data_backup_test(link)

if __name__ == '__main__':
    main()
          
        

3、缺點

一套流水線或者流程就是用來解決一個問題,比如生產汽水的流水線無法生產汽車,即便是能,也得是大改,改一個組件,與其相關的組件都需要修改,牽一發而動全身,擴展性極差。

比如我們修改了步驟二的函數cloud_upload的邏輯,那么依賴于步驟二結果才能正常執行的步驟三的函數data_backup_test相關的邏輯也需要修改,這就造成了連鎖反應,而這一弊端會隨著程序的增大而變得越發的糟糕,我們程序的維護難度將會越來越大。

          
            import os

def data_backup(folder):
    print("找到備份目錄: %s" %folder)
    print('正在備份......')
    zip_file='/tmp/backup20181103.zip'
    print('備份成功,備份文件為: %s' %zip_file)
    return zip_file

def cloud_upload(file): #加上異常處理,在出現異常的情況下,沒有link返回
    try:
        print("\nconnecting cloud storage center...")
        print("cloud storage connected.")
        print("upload file...%s...to cloud..." % file)
        link = 'http://www.xxx.com/bak/%s' % os.path.basename(file)
        return link
    except Exception:
        print('upload error')
    finally:
        print('close connection.....')

def data_backup_test(link): #加上對參數link的判斷
    if link:
        print("\n下載文件: %s , 驗證文件是否無損" %link)
    else:
        print('\n鏈接不存在')
def main():
    #步驟一:本地數據打包
    zip_file = data_backup("c:\\users\\alex\歐美100G高清無碼")

    #步驟二:上傳至云服務器
    link=cloud_upload(zip_file)

    #步驟三:測試備份文件的可用性
    data_backup_test(link)

if __name__ == '__main__':
    main()
          
        

4、應用場景

面向過程的程序設計思想一般用于那些功能一旦實現之后就很少需要改變的場景, 如果你只是寫一些簡單的腳本,去做一些一次性任務,用面向過程的方式是極好的,著名的例子有Linux內核,git,以及Apache HTTP Server等。但如果你要處理的任務是復雜的,且需要不斷迭代和維護 的, 那還是用面向對象最方便了。

二、面向對象的程序設計

1、概念

核心是“對象”二字,要理解對象為何物,必須把自己當成上帝,在上帝眼里,世間存在的萬物皆為對象,不存在的也可以創造出來。程序員基于面向對象設計程序就好比如來設計西游記,如來要解決的問題是把經書傳給東土大唐,如來并沒有考慮問題的解決流程,而是設計出了負責取經的師傅四人:唐僧,沙和尚,豬八戒,孫悟空,負責騷擾的一群妖魔鬼怪,以及負責保駕護航的一眾神仙,這些全都是對象,然后取經開始,就是師徒四人與妖魔鬼怪神仙交互著直到完成取經任務。所以說基于面向對象設計程序就好比在創造一個世界,世界是由一個個對象組成,而你就是這個世界的上帝。

我們從西游記中的任何一個人物對象都不難總結出:對象是特征與技能的結合體。比如孫悟空的特征是:毛臉雷公嘴,技能是:七十二變、火眼金睛等。

與面向過程機械式的思維方式形成鮮明對比,面向對象更加注重對現實世界而非流程的模擬,是一種“上帝式”的思維方式。

2、優點

解決了面向過程可擴展性低的問題,這一點我們將在下小節中為大家驗證,需要強調的是,對于一個軟件質量來說,面向對象的程序設計并不代表全部,面向對象的程序設計只是用來解決擴展性問題。

Python面向對象編程——什么是面向對象的程序設計_第1張圖片

3、缺點

編程的復雜度遠高于面向過程,不了解面向對象而立即上手并基于它設計程序,極容易出現過度設計的問題,而且在一些擴展性要求低的場景使用面向對象會徒增編程難度,比如管理linux系統的shell腳本程序就不適合用面向對象去設計,面向過程反而更加適合。

4、應用場景

當然是應用于需求經常變化的軟件中,一般需求的變化都集中在用戶層,互聯網應用,企業內部軟件,游戲等都是面向對象的程序設計大顯身手的好地方。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 不卡国产一区二区三区四区 | 97精品国产91久久久久久 | 亚洲 欧美 另类 综合 偷拍 | 成人免费a视频 | 日韩在线短视频 | 色婷婷综合久久久中字幕精品久久 | 欧美激情久久欧美激情 | 久久伊人色综合 | 日产乱码卡一卡2卡三卡四麻豆 | 波多野结衣手机在线播放 | 亚洲视频在线观看地址 | 久久精品99 | 国产精品入口免费麻豆 | 婷婷久久无码欧美人妻 | 奇米影视图片 | 国产日韩欧美亚洲 | 黄色图片视频 | 视频一区二区中文字幕 | 日本黄 色 成 年 人免费观看 | 奇米第四色在线观看 | 欧美手机在线 | 中文字幕亚洲欧美 | 久久精品国产亚洲 | 亚洲国产日韩在线观看 | 亚洲宗合 | 91久久综合九色综合欧美亚洲 | 日本精品久久久久中文字幕2 | 国产精品成人品 | 一级黄色在线 | 国产精品视频久久久 | 国产一级精品高清一级毛片 | 国产亚洲蜜芽精品久久 | 亚洲午夜在线视频 | 毛片免费观看 | 中文字幕天堂在线 | 白色白色视频免费观看 | 国精品午夜dy8888狼人 | 色屁屁www免费看视频影院 | 国产电影一区二区 | 久草在线视频中文 | 日本一本久 |