方法過載,重構,覆蓋,重寫的區別

2021-08-29 05:37:14 字數 1043 閱讀 1723

方法過載還是比較好理解的,就是在類的內部,定義多個方法,這些方法的方法名字相同,引數型別和引數個數不同,注意,返回值型別並不能區分過載;看**:

public

void

show

(int a,

double b)

public

void

show

(double c)

public

intshow

(double d)

//報錯,方法已經定義了

在看方法重寫(override)

方法重寫和方法覆蓋都是乙個道理,發生在子類繼承父類或者實現介面的類,

要求的是

1.方法名字相同,

2.引數個數不同,

3.返回值型別不同 ,

方法重構:

定義:在不改變外界外界訪問的情況下對**進行修改,但是不改變原方法的效果,提高其效能,使程式更加易讀,可維護。

重構是在不改變軟體可觀察行為的前提下改善其內部結構

重構通常不是一次性的,它貫穿軟體的整個生命週期,只要覺得不合理都是重構的時機。

舉個例子就好理解了:

在接手乙個遺留專案的時候,我們往往會遇到以下情況

某甲:**看了半天還是看不懂啊,尼瑪,乙個方法上千行,心累ing

若干天後,終於看懂**了,但是發現ide一堆警告,一看提示說存在重複的**,整個專案都是警告,那麼多重複**,不會封裝一下嗎,靠

試著優化下**,改著改著發現好多if-else,還是多層巢狀,每個巢狀的判斷還tm很複雜,想想還是先不改了,萬一改出問題,老子要吃p的(線上故障)

以上情景想必大家一定很熟悉,心底肯定在嘀咕:這麼爛的**哪個孫子寫的,不該了,老子重新寫一套。。。

覆蓋 重寫 ,重構,過載的區別

1 重構 重構,是對軟計設計方法的描述,這個層面是架構和設計方法,例如有乙個文件一開始叫做 names.txt,過幾天你發現這個文件的名字怎麼看怎麼不順眼,就是想改名字,這可以叫做是重構。重構是乙個軟體維護的通用技巧,重構的具體做法,可以通過重寫或者過載等,但不限於此,更改注釋,更改函式名類名等,都...

C 重構 過載 重寫

來,我們問一下自己 建構函式是幹什麼的?重構是什麼?重寫是什麼?過載是什麼?重寫和過載聯絡的是什麼?重構與過載的區別是什麼?重寫和重構又是什麼關係?它們分別怎麼用?重構是重新構什麼?重寫又是在重寫什麼?過載載的又是什麼?哈哈,撒了吧 建構函式 是一種特殊的方法。主要是用來在建立物件的時初始化物件,即...

C 過載重寫重構

前幾篇部落格說了重寫和過載。今天主要說重構,順便比較一下三者。重構就是通過調整程式 改善軟體的質量 效能,使其程式的設計模式和架構更趨合理。提高軟體的擴充套件性和維護性。通俗點說,重構。就是改善既有 的設計,讓 更加的符合物件導向規則。而重寫是出如今多型裡的。virtualkeyword宣告虛方法,...