c 裡面方法的過載到底有什麼作用呢?

時間 2021-05-31 00:23:18

1樓:羊牮

對過載最樸素的需求,就是為了表達:要實現乙個目的,可以選擇不同的材料來完成。

當然還有更深層次的需求:語言只對某個方法名支援特殊語法,如果你想更多方法可以利用這種便利,那麼可以利用過載功能,即都改成那個名字,只用引數來區別。像 Deconstruct、Add、Select等等方法名,都是能得到特別語法加持的。

2樓:漢尼勃萊克達

比如你想寫乙個排序演算法,但是輸入是基礎資料型別int,你想排序float就不行……這時候你需要過載,把排序演算法的輸入改成float再寫一遍……

3樓:有木桑

沒有一定要用的理由,完全可以不用。反正只是提供了這麼個功能,用不用那是你自己決定的

畢竟確實有人和你想法一樣,好像叫著啥「大道至簡」來著,還確實有一堆擁躉,可厲害了,我們都打不過它。

4樓:Valenti Zhang

當然可以使用不同函式名

但是假如同樣功能的函式高達 10 多個,你就寫 10 多個不同的函式名,管理和維護好麻煩,曾經在這上面吃過很大虧。

另外,過載的真正意義是方便開發者,比如現在有如下方法列表,他們的功能都一樣,根據傳入的引數不同有對應的處理邏輯,並返回 int 結果:

public int handle(int a)public int handle(String num)public int handle(float a)public int handle(int a, intb)...你在呼叫的時候只考慮給函式對應的引數列表就好了,完全不需要找差異化的函式名,它會自動匹配函式然後走對應的邏輯並 return 正確的結果。

就是這樣

(上電腦端修改了下,手機打字好受侷限)

善良到底有什麼作用?

王宇 第乙個真相是,遇到的人越多,你越發現相當一部分人沒有常識,沒有禮貌,沒有素質,三觀不正沒有底線,沒有基本的價值觀。真的是三觀不合半句多。讓人生氣。第二個真相是,當你對100個人表達善意時,可能只有10個人會對我的善意作出回應。剩下的90個人,有人不搭理有人不領情有人認為你作你裝你有心機等等各種...

在C 中,是否有一種好的方法用於過載 ?

你是不是看了什麼亂七八糟的書了?我推薦給很多人 C Primer 居然有不止乙個人買了 C Primer Plus 如何高效學習並掌握現代C 陳碩的回答 知乎如何高效學習並掌握現代C 有一定c語言和c 基礎,是看c primer plus 好還是看c primer好?vczh的回答 知乎 有一定c語...

套磁信到底有什麼作用?

何玉林 一次有效的套磁就很有可能讓你得到這樣的結果,讓你在激烈的競爭中為自己增加乙份保險。其次,花大量的時間了解教授的研究內容能夠讓你自己在申請中更加理智,同時讓你的專業能力在不知不覺中提公升。那麼套磁包括哪些內容呢?說實話,這個問題我剛開始寫套磁的時候也不知道,後來我參考了這20 封套磁,思路漸漸...