2 1 搬移函式

2022-06-02 11:27:07 字數 776 閱讀 5458

源**

1

//重構前

2class

account314

return

result;15}

16else

1720}21

22private:23

accounttype m_type;

24int

m_ndaysoverdrawn;

25 };

搬移函式

1

class

accounttype213

return

result;14}

15else

1619}20

21bool

ispremium()

2226

};27

28class

account

2938

return

result;39}

4041

private:42

accounttype m_type;

43int

m_ndaysoverdrawn;

44 };

總結在程式中,如果有個函式與其所駐之類的另外乙個類進行更多交流,呼叫後者或被後者呼叫。

在該函式最常引用的類中建立乙個有著類似行為的新函式。

將舊函式變成乙個單純的委託函式,或將舊函式完全移除。

good good study, day day up.

順序 選擇  迴圈 總結

7 1 move method 搬移函式

在該函式最常引用的類中建立乙個有著類似行為的新函式。將舊函式變成乙個單純的委託函式,或是將舊函式完全移除。動機 如果乙個類有太多行為,或如果乙個類與另乙個類有太多合作而形成高度耦合,我就會搬移函式。使用另乙個物件的次數比使用自己所駐物件的次數還多。觀察呼叫它的那一端,它呼叫的那一端,以及繼承體系中它...

21高階函式

引數和返回值都是函式。傳入引數是函式 val arr array 1,2,3,4 val fun x int x 2 val res arr.map fun 傳入匿名函式 val res2 arr.map x int x 2 val res3 arr.map 2 返回值是函式 def urlbuil...

21 函式基礎

1 什麼是函式 具備某一功能的工具 函式 工具的使用 事先準備好好工具 函式的定義 遇到應用場景拿來就用 函式的呼叫 2 為何要有函式 1 程式的組織結構不清晰 可讀性差 2 如果要用到重複的功能,只能拷貝功能的實現 冗餘 3 可擴充套件性差 3 如何用函式 函式的使用原則 先定義,後呼叫 定義函式...