C 重寫與過載

2021-08-28 10:14:07 字數 652 閱讀 4253

過載是方法名要一樣,但是引數型別和個數不一樣,返回值型別可以相同也可以不相同。無法以返回型作為過載函式的區分標準。過載overloading是乙個類中多型性的一種表現。

重寫要求方法名、引數和返回值相同。重寫是為了增強類的重用性和復用性、擴充套件性;重寫是對類中方法的擴充,因為繼承用的是父類的東西,重寫則不僅得到父類的東西,同時也加入了自己的東西。

重寫(覆蓋)的規則

引數列表必須完全與被重寫的方法相同,否則不能稱其為重寫而是過載。

返回的型別必須一致與被重寫的方法的返回型別相同,否則不能稱其為重寫而是過載。

訪問修飾符的限制一定要大於被重寫方法的訪問修飾符(public>protected>default>private)。

重寫方法一定不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的檢查異常。

過載的規則

必須具有不同的引數列表。

可以有不同的返回型別,只要引數列表不同就可以了。

可以有不同的訪問修飾符。

可以丟擲不同的異常。

過載和重寫的特點:

重寫(覆蓋)override特點

過載overload特點

C 過載與重寫

過載overload 是函式名相同,引數列表不同 過載只是在類的內部存在。但是不能靠返回型別來判斷。重寫override 也叫做覆蓋。子類重新定義父類中有相同名稱和引數的虛函式。函式特徵相同。但是具體實現不同,主要是在繼承關係中出現的 重寫需要注意 1 被重寫的函式不能是static的。必須是vir...

C 的過載與重寫

1 過載 overload 在同乙個作用域 一般指乙個類 的兩個或多個方法函式名相同,引數列表不同的方法叫做過載,它們有三個特點 俗稱兩必須一可以 方法名必須相同 引數列表必須不相同 返回值型別可以不相同 例如 public void sleep public intsleep int time 點...

C 的過載與重寫

1 過載 overload 在同乙個作用域 一般指乙個類 的兩個或多個方法函式名相同,引數列表不同的方法叫做過載,它們有三個特點 俗稱兩必須一可以 方法名必須相同 引數列表必須不相同 返回值型別可以不相同 例如 public void sleep public intsleep int time 點...