重載和重置都是對方法而言的,而重構(gòu)是對于構(gòu)件或者類或者整個系統(tǒng)而言的。
重載和重置都是面向?qū)ο蠖鄳B(tài)性的體現(xiàn)。重載是指一個方法可以有呈現(xiàn)出多種形態(tài)。多種形態(tài)是通過同名的方法可以有不同的參數(shù)類型順序或者不同參數(shù)個數(shù)實現(xiàn)的。重置則是子類對從基類繼承的方法的重寫,也叫覆蓋吧。這很容易理解,因為即使基類和子類再類似,基類的方法肯定有不適合子類的地方,這時候子類就需要對基類的方法重置。重置時方法參數(shù)的類型、數(shù)量和次序一定要和基類的方法一致,否則就成了重載。
重構(gòu)一般有軟件重構(gòu)和代碼重構(gòu)。軟件重構(gòu)是指在不改變軟件的功能和外部可見性的前提下,對軟件進(jìn)行改造,其目的是為了改善軟件的結(jié)構(gòu),提高清晰性、可擴(kuò)展性和可重用性。代碼重構(gòu)就是在不改變代碼外部情況的對源代碼的修改。重構(gòu)是代碼維護(hù)中很重要,但不增加新的行為。重構(gòu)用于提高代碼的可讀性和改變代碼的結(jié)構(gòu)和設(shè)計,這樣在將來更容易維護(hù)。如果在現(xiàn)有結(jié)構(gòu)下給一個構(gòu)件或者增加一個新的行為很困難或者根本不可能,這時候就需要重構(gòu)這個構(gòu)件或者類,其目的是為了增加新行為更容易。