主要區別
超載和超載不是你認為與重型車輛運輸有關的術語。軟體開發人員或程式設計師知道這些術語對他們的意義。重寫和過載基本上與java、C++和其他程式語言有關。這些特性用於為程式設計中的不同上下文賦予不同的含義。以下是這兩個術語的細節及其區別。
什麼是壓倒一切(overriding)?
重寫是程式語言中的一個特性,用於將相同的方法名與相同的簽名相關聯。在這個系統中,程式設計師為子類或子類提供了一個具體的實現方法,這個方法已經由程式設計師提供給父類或父類。它在兩個方向上工作,要麼在父類中,要麼在子類中。例如,如果在父類中執行某些更改,則子類也將接受該更改,反之亦然。還有一個選項可以防止程式設計師重寫方法。
什麼是超載(overloading)?
過載是程式語言中的一個函式,它將多個相同的名稱與具有不同實現的物件關聯起來。它基本上是由那些在資料型別、類和運算元發生變化時表現不同的運算子使用的。在多種程式語言中,只有C++和java支援過載。函式名和運算子過載是兩種不同的過載。過載是在編譯時對特定類實現的,大多數靜態方法允許過載。
主要區別
- 首先是實施的時機。過載在編譯時實現,重寫在執行時實現。
- 靜態方法可以過載,但不能重寫。因為一個類或物件可以有多個同名的靜態方法,這在過載而不是重寫中是可能的。
- 過載與將實現提供給特定的類相關聯,以便可以在同一個類中完成,而重寫同時需要父類和子類才能實現。
- 靜態繫結用於過載,而用於重寫的則使用動態繫結。
- 過載提供了更好的效能,因為它是在執行時完成的,在重寫的情況下不可用。
- 重寫方法時需要相同的資料型別,而重寫時可以選擇相同的資料型別。
- 重寫用於艾達、C++、C++、Delphi、Effeljava、java和Python,而通常C++和Java允許過載。