1 6 重寫跟過載的區別

2021-10-21 01:38:11 字數 593 閱讀 6091

過載

過載(overloading) 是在乙個類裡面,方法名字相同,而引數不同。返回型別可以相同也可以不同。

每個過載的方法(或者建構函式)都必須有乙個獨一無二的引數型別列表。

最常用的地方就是構造器的過載。

在乙個類中只要方法名字相同,引數不同就可以稱為過載。

重寫又叫覆蓋,重寫是子類對父類的允許訪問的方法的實現過程進行重新編寫, 返回值和形參都不能改變。

重寫的好處在於子類可以根據需要,定義自己的行為。 也就是說子類能夠根據需要實現父類的方法。

方法的重寫規則:

重寫方法不能拋出新的檢查異常或者比被重寫方法申明更加寬泛的異常。例如: 父類的乙個方法申明了乙個檢查異常 ioexception,但是在重寫這個方法的時候不能丟擲 exception 異常,因為 exception 是 ioexception 的父類,只能丟擲 ioexception 的子類異常。

訪問許可權不能比父類中被重寫的方法的訪問許可權更低。例如:如果父類的乙個方法被宣告為 public,那麼在子類中重寫該方法就不能宣告為 protected。

宣告為 final 的方法不能被重寫。

10 重寫和過載

重寫是子類對父類方法的重新編寫 class animal class dog extends animal public class testdog 過載 overloading 是在乙個類裡面,方法名字相同,而引數不同。返回型別可以相同也可以不同。方法名相同 public class overlo...

過載 重寫 重定義區別

過載 函式名相同,函式的引數個數 引數型別或引數順序三者中必須至少有一種不同。函式返回值的型別可以相同,也可以不相同。發生在乙個類內部。重定義 也叫做隱藏,子類重新定義父類中有相同名稱的非虛函式 引數列表可以不同 指派生類的函式遮蔽了與其同名的基類函式。可以理解成發生在繼承中的過載。重寫 也叫做覆蓋...

重寫 過載和重定義的區別

首先,重寫是指派生類的方法覆蓋基類的方法,要求方法名 方法的引數都相同。重寫是c 中實現多型這個特性基礎。重寫又稱為覆蓋,是指派生類函式覆蓋基類函式,與重定義不同,重寫要求被重寫的基類函式為虛函式。例如下面的 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1...