函式式和物件導向程式設計有什麼區別?

2021-10-04 09:16:05 字數 873 閱讀 2832

**左列 int, add, negate 是三個變式 (variant),eval, tostring, haszero 是三種操作,這裡要做的是填滿這個**,分別實現三個變式的三種操作。

函式式程式設計是寫三個函式代表三個方法。然後資料作為引數傳人。

物件導向程式設計是資料是主體,然後每個主體上繫結三個方法

函式式程式設計式縱向的填滿了上面的**

物件導向程式設計是橫向的填滿了上的**

函式式程式設計 和 物件導向程式設計 是兩種相反的思維模式和實現方式

//擴充套件**

在上面那個例子的基礎上,我們再加一行一列,增加 multi 這個變式,表示乘法,增加 absolute 這個操作,作用是求絕對值。這會怎麼影響我們的**呢?

函式式程式設計

在函式式程式設計中,要增加乙個操作 absolute 很簡單,只要新增乙個新的函式,不用修改之前的**。但是要增加 multi 比較麻煩,要修改之前的所有函式。

物件導向程式設計

和函式式程式設計相反的,在這裡增加乙個 multi 簡單,只要新增乙個新的 class,但是增加 absolute 這個操作就要在之前的每乙個 class 做更改。

————————————————

函式式程式設計 和 物件導向程式設計 對比下來,我們並不能說哪一種模式更好。但是可以看出它們在思維上是截然不同的。函式式程式設計中側重要做什麼,物件導向程式設計側重物件的抽象化,

詳情注意看後面的推薦

物件導向和面向過程有什麼區別

面向過程程式設計採取的是時間換空間的策略,因為在早期計算機配置低 記憶體小,如何節省記憶體則成了首要任務,哪怕是執行的時間更長。隨著硬體技術的發展,硬體不再成為瓶頸,相反更好的模擬現實世界 系統的可維護性等問題凸顯出來,於是物件導向設計應運而生。當下 應用在 pc機上的一般應用系統,由於不太需要考慮...

函式式程式設計和物件導向程式設計的區別和優劣

是什麼 在敘述區別和優劣之前,簡單介紹一下兩者。函式式程式設計,顧名思義,這種程式設計是以函式思維做為核心,在這種思維的角度去思考問題。這種程式設計最重要的基礎是 演算,接受函式當作輸入和輸出。物件導向程式設計,這種程式設計是把問題看作由物件的屬性與物件所進行的行為組成。基於物件的概念,以類作為物件...

物件導向與面向過程有什麼區別?

1 出發點不同。物件導向方法使用符合常規思維的方式來處理客觀世界的問題,強調吧問題域的要領直接對映到物件及物件之間的介面上。面向過程方法強調則是過程的抽象化與模組化,它是以過程為中心構造或處理客觀世界的問題。2 層次邏輯關係不同。物件導向方法則是用計算機的邏輯模擬客觀世界中的物理存在,以物件的集合類...