為什么要有面向對象程序設計?


為什么要有面向對象程序設計?

面向過程編程

面向過程的程序設計:核心是過程二字,過程指的是解決問題的步驟,即先干什么再干什么......面向過程的設計就好比精心設計好一條流水線,是一種機械式的思維方式。

  • 優點:復雜度的問題流程化,進而簡單化(一個復雜的問題,分成一個個小的步驟去實現,實現小的步驟將會非常簡單)
  • 缺點:一套流水線或者流程就是用來解決一個問題,生產汽水的流水線無法生產汽車,即便是能,也得是大改,改一個組件,牽一發而動全身

面向對象編程

要理解對象為何物,必須把自己當成上帝,上帝眼里世間存在的萬物皆為對象,不存在的也可以創造出來。面向對象的程序設計好比如來設計西游記,如來要解決的問題是把經書傳給東土大唐,如來想了想解決這個問題需要四個人:唐僧,沙和尚,豬八戒,孫悟空,每個人都有各自的特征和技能(這就是對象的概念,特征和技能分別對應對象的數據屬性和方法屬性),然而這並不好玩,於是如來又安排了一群妖魔鬼怪,為了防止師徒四人在取經路上被搞死,又安排了一群神仙保駕護航,這些都是對象。然后取經開始,師徒四人與妖魔鬼怪神仙交互着直到最后取得真經。如來根本不會管師徒四人按照什么流程去取。

# 面向對象編程的核心是對象二字,對象是特征與技能的結合體。

ps:比如我們豬八戒就是一個對象,這個對象有豬鼻子豬耳朵,並且會使用九齒釘耙,所以我們說他是豬八戒

# 基於面向對象編程的思想編寫程序,就好比是在創造一個世界,你就是這個世界的上帝,是一種上帝式的思維方式。

ps:比如你是個公司的老板,你想審核賬目了,你該造出來一個對象(會計),讓這個對象(會計)去幫你審核賬目。又比如你又想喝咖啡了,你又可以造出來一個對象(秘書),讓這個對象(秘書)去幫你倒咖啡。

  • 優點:可擴展性強
  • 缺點:編程的復雜度要高於面向過程

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

面向對象的程序設計並不是全部。對於一個軟件質量來說,面向對象的程序設計只是用來解決擴展性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM