84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
如题,最近看java基础时,看到了关于继承的重写和重载部分,方法的重载可以实现代码的多态,但是重写我就不是很理解为什么要这么写,希望有心人帮忙解释下。小白这里先谢过了。
光阴似箭催人老,日月如移越少年。
重寫的話,也能實現程式碼的多樣性。
子類別繼承了父類別之後,呼叫父類別的方法,就不需要重複寫,節省程式碼量。
如果使用條件變更,父類別的方法不能滿足使用需求,那麼你就需要重寫方法了,把父類別的方法覆蓋掉。
重寫可以跟java的許多模式配合。
你理解錯了,重寫才是實現多態的關鍵,重載只是增加幾個參數,重用方法名稱而已。至於為什麼重寫是實現多態的關鍵,是因為物件導向鼓勵面向介面編程,或是面向抽象編程。例如:
一個水果的父類,有printName方法:
public class Fruit { public void printName() { System.out.println("Fruit"); } }
蘋果和橘子都可以是Fruit的子類,但是你實作過程中可以重寫printName方法,從而實現不同的名字輸出。
繼承的好處之一就是減少代碼量,相同的語句沒必要每個類別都寫,直接繼承,就好比父親和兒子的關係,兒子會繼承父親的所有特性,但是兒子也可以自己發展。
重寫父類方法,以一個模板定義一個特別的類,在外面看起來都是一樣的,但是裡面卻不相同,面向接口編程優勢就在這裡
重寫的話,也能實現程式碼的多樣性。
子類別繼承了父類別之後,呼叫父類別的方法,就不需要重複寫,節省程式碼量。
如果使用條件變更,父類別的方法不能滿足使用需求,那麼你就需要重寫方法了,把父類別的方法覆蓋掉。
重寫可以跟java的許多模式配合。
你理解錯了,重寫才是實現多態的關鍵,重載只是增加幾個參數,重用方法名稱而已。至於為什麼重寫是實現多態的關鍵,是因為物件導向鼓勵面向介面編程,或是面向抽象編程。例如:
一個水果的父類,有printName方法:
蘋果和橘子都可以是Fruit的子類,但是你實作過程中可以重寫printName方法,從而實現不同的名字輸出。
繼承的好處之一就是減少代碼量,相同的語句沒必要每個類別都寫,直接繼承,就好比父親和兒子的關係,兒子會繼承父親的所有特性,但是兒子也可以自己發展。
重寫父類方法,以一個模板定義一個特別的類,在外面看起來都是一樣的,但是裡面卻不相同,面向接口編程優勢就在這裡