方法過載還是比較好理解的,就是在類的內部,定義多個方法,這些方法的方法名字相同,引數型別和引數個數不同,注意,返回值型別並不能區分過載;看**:
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宣告虛方法,...