oop 過載與重寫

2022-08-19 08:18:15 字數 658 閱讀 8793

過載與重寫的區別:過載是在乙個類中,方法名相同引數列表不同。展現多型性。編譯時,根據引數的個數和型別決定繫結哪個方法。

重寫發生在父子類中,子類繼承父類,在子類中定義和父類完全相同的方法。展現繼承性。方法名和引數列表完全相同。在程式執行時,根據物件的不同(而不是引用型別)而呼叫不同的版本。

過載:含義:方法名相同引數列表不同。(方法的簽名:方法名和引數列表,乙個類中不可以有兩個方法的簽名相同)

作用:    service介面中經常存在方法名相同引數不同的情況。  

注意點:

呼叫方法時通過傳遞給它們的不同引數個數和引數型別來決定具體使用哪個方法, 這就是多型性

無法以返回型別作為過載函式的區分標準

過載的意義?

重寫:1.子類可以重寫繼承自父類的方法,即方法名和引數列表與父類的方法相同,但方法的實現不同。

2. 當子類物件的重寫方法被呼叫時(無論通過子類的引用還是通過父類的引用呼叫),執行的是子類的重寫後的版本。

3.子類在重寫父類的方法時,可以通過super關鍵字呼叫父類的版本。

構造方法:  

定義:是在類中定義的方法,兩點規則:

作用:常用於實現物件成員變數的初始化。

注意點:

1.構造方法名必須與類名相同。

2.構造方法沒有返回值,但也不能寫void.

重寫與過載

override 為覆蓋又叫重寫,從字面就可以知道,它是覆蓋了乙個方法並且對其重寫,以求達到不同的作用。對我們來說最熟悉的覆蓋就是對介面方法的實現,在介面中一般只是對方法進行了宣告,而我們在實現時,就需要實現介面宣告的所有方法。除了這個典型的用法以外,我們在繼承中也可能會在子類覆蓋父類中的方法。在覆...

過載與重寫

過載與重寫 面對過載與重寫有時會像失憶一樣,將這兩個內容搞混。在實際運用中,我們一般是不會混的。但在給別人講述的過程中,可能會出現張冠李戴將兩個名詞搞混,這是不利於傳播的。讓我們來一起加深一下 過載 相同函式名稱,不同引數或不同引數型別。舉個例子 class oneclass public doub...

重寫與過載

重寫方法的規則 1.引數列表必須完全與被重寫的方法的相同,否則不能稱其為重寫而是過載.2.返回的型別必須一直與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載.3.訪問修飾符的限制一定要大於被重寫方法的訪問修飾符 public protected default private 4.重寫方法一...