1.定義區別:
①重載是指不同的函數使用相同的函數名,但是函數的參數個數或類型不同。調用的時候根據函數的參數來區別不同的函數。
②覆蓋(也叫重寫)是指在派生類中重新對基類中的虛函數(注意是虛函數)重新實現。即函數名和參數都一樣,只是函數的實現體不一樣。
2.類的關系區別
覆蓋是子類和父類之間的關系,是垂直關系;重載是同一個類中方法之間的關系,是水平關系。
3.產生方法區別
覆蓋只能由一個方法或只能由一對方法產生關系;重載是多個方法之間的關系。
4.參數列表要求區別
覆蓋要求參數列表相同;重載要求參數列表不同。
5.調用方法區別
覆蓋關系中,調用方法體是根據對象的類型來決定;而重載關系是根據調用時的實參表與形參表來選擇方法體的。
擴展資料
方法的重寫:
1、在子類中可以根據需要對從基類中繼承來的方法進行重寫。
2、重寫的方法和被重寫的方法必須具有相同方法名稱、參數列表和返回類型。(注:返回值可以為父類中返回值的子類型.參數若為子類,則不是重寫是重載)
3、重寫方法不能使用比被重寫的方法更嚴格的訪問權限。
4. 重寫方法不能聲明拋出比被重寫方法范圍更大的異常類型。
總結:重寫是子類對所繼承父類相同方法的一種更改,這個更改需要遵循格式按照父類的格式,訪問權限,拋出異常等等,都在父類方法控制范圍內,內部具體實現可以實現不同的效果。