在java學習過程中,我發現有幾個知識點,它們的作用都包含有提高代碼的復用性.所謂提高代碼復用性,簡單來說就是能夠讓一個東西重復操作,還能減少工作量(也就是懶人思想).目前提到提高代碼復用性的知識點有以下四個.
1.為什么要有方法? 提高代碼的復用性
2.面向對象思想特點:復雜的事情簡單化(復用性)
3.繼承的好處:提高了代碼的復用性.
4.抽象類的成員方法特性:
a:抽象方法 強制要求子類做的事情(如果有子類,強制子類重寫)
b:非抽象方法 子類繼承的事情,提高代碼復用性
下面就這幾點分別進行簡單的分析.
第一點:為什么要有方法?
做任何事情都必須有方法.沒有方法達不到結果.就好像一個人,如果餓了,他可以通過吃飯這個行為解決;困了,可以通過睡覺這個行為解決.那么在java語言中,一個類,也必須有變量和方法.變量就是屬性,方法就是行為.一個人日食三餐,就是進行三次吃飯行為.在代碼中想多次調用方法也是可以的,不需要每次都重新命名這個方法.方法的格式如下:
修飾符 返回值類型 方法名(參數類型 參數名1,參數類型 參數名2...) {
方法體語句;
return 返回值;
}
java作為強類型語言,規定了方法需要有修飾符,返回值類型,方法名和參數列表.修飾符決定了方法的適用范圍和方式.如:我們最常見的public static,決定了這個方法是公共靜態的,也就是誰都可以調用,類和對象都可以調用.而如果是private ,則只能在本類中調用.返回值類型和取決於返回值,返回值是什么類型,返回值類型就是什么類型,如int,string,或者沒有返回值類型(void).方法名就是方法的名字,取名方法則是見名識意,如睡覺,起名sleep.最后()中的是參數列表,包括參數類型和參數名.每次調用輸入的參數列表不同,調用方法的結果就不同.也就是說方法誰都可以調用,而不是專門的某個對象的方法,這樣,代碼的復用性就大大增強了.
第二點:面向對象思想特點:復雜的事情簡單化(復用性).
Java作為面向對象的語言,和面向過程的而語言有很大的區別.面向對象就是將萬物歸類,從類中創建對象,使用對象,指揮對象做事情.所以說,萬物皆對象,想要做成什么事情,只需要創建對象,讓對象調用方法就可以了,是一種模塊化的狀態,符合日常行為習慣.譬如:如果想吃東西,那么找到飯店,把需求一說,飯店就做了出來,你不用管是怎么做出來的,而不需要自己買菜洗菜刷鍋炒菜一樣.簡單實用,可重復操作.
第三點:繼承的好處:提高了代碼的復用性.
繼承就是子類繼承父類,父類的公共方法,可以直接繼承,拿來就用,而不需要自己再重寫一遍.達到用最少的代碼做最多的事情,提高代碼的復用性.就好像俗語說:龍生龍,鳳生鳳,老鼠的兒子會打洞.老鼠的兒子就是天生繼承了父類的打洞,不用自己學習創造打洞的方法.
第四點:抽象類的成員方法特性:
a:抽象方法 強制要求子類做的事情(如果有子類,強制子類重寫)
b:非抽象方法 子類繼承的事情,提高代碼復用性.
抽象類用abstract修飾,因為不能不能具體形容,所以就是抽象類.這也決定了抽象類本身不能實例化,只能通過非抽象的子類實例化.抽象類的方法有抽象方法和非抽象方法兩種.抽象方法,強制要求子類重寫,重寫后才能調用,而非抽象方法也是可以直接繼承的,因為是繼承的,我們在第三點強調過繼承的好處,所以也是提高了代碼的復用性.
總體看來,提高代碼復用性是通過一系列方式實現的,首先是體現在面向對象的這種編程思想,其次是在面向對象的基本單位類中進行細節操作,要提高復用性,就必須提高耦合性,也就是加強彼此間的關系,主要是類與類之間的關系,這通過繼承和接口來實現.通過繼承,子類可以繼承父類的方法.通過接口,子類可以實現抽象類接口的方法.