1. 程式人生 > >過載與重寫、重用與重構

過載與重寫、重用與重構

  • 過載:

在面向物件程式設計中分為方法過載和運算子過載。方法過載是讓類以統一的方式處理不同型別資料的一種手段。使用過載方法,可以在類中建立多個方法,它們具有相同的名字,但具有不同的引數和不同的定義。呼叫方法時,通過傳遞給它們的不同個數和型別的引數來決定具體使用哪個方法。運算子過載就是對已有的運算子重新進行定義,賦予其另一種功能,以適應不同的資料型別。

  • 重寫:

一般在面向物件程式語言中重寫指的是方法重寫,方法重寫又稱方法覆蓋,就是子類可繼承父類中的方法,而不需要重新編寫相同的方法。但有時子類並不想原封不動地繼承父類的方法,廁是想作一定的修改,這就需要對方法進行重寫。若子類中的方法與父類中的某一方法具有相同的方法名、返回型別和引數,則新方法將覆蓋原有的方法。

  • 重用:

程式碼複用,也被稱作軟體複用。就是利用已有的程式碼,或者相關的知識去編寫新的程式碼來構造軟體,可以為軟體的編寫或工程的進展節省很多時間。

  • 重構:

(Refactoring)就是在不改變軟體現有功能的基礎上,通過調整程式程式碼改善軟體的質量、效能,使其程式的設計模式和架構更趨合理,提高軟體的擴充套件性和維護性。 也許有人會問,為什麼不在專案開始時多花些時間把設計做好,而要以後花時間來重構呢?要知道一個完美得可以預見未來任何變化的設計,或一個靈活得可以容納任何擴充套件的設計是不存在的。系統設計人員對即將著手的專案往往只能從大方向予以把控,而無法知道每個細枝末節,其次永遠不變的就是變化,提出需求的使用者往往要在軟體成型後,才開始"品頭論足",系統設計人員畢竟不是先知先覺的神仙,功能的變化導致設計的調整再所難免。所以"測試為先,持續重構"作為良好開發習慣被越來越多的人所採納,測試和重構像黃河的護堤,成為保證軟體質量的法寶。