引子 "某呼"網友提問“C#為什麼非要把函數叫方法?”,看到這個問題還真不知道怎麼回答。要想知道C#為什麼叫方法,還得從傳統面向過程語言說起。 方法的由來 函數(function)是面向過程編程語言里,對可以獨立調用代碼段的另一種叫法,因為通常有數個輸入和一個輸出,很像數學里的那個函數。比如C語言中 ...
引子
"某呼"網友提問“C#為什麼非要把函數叫方法?”,看到這個問題還真不知道怎麼回答。要想知道C#為什麼叫方法,還得從傳統面向過程語言說起。
方法的由來
函數(function)是面向過程編程語言里,對可以獨立調用代碼段的另一種叫法,因為通常有數個輸入和一個輸出,很像數學里的那個函數。比如C語言中的函數。方法名稱的出現主要是針對面向對象語言,方法是對象的動作和行為描述。而C#是面向對象語言,所以叫方法。
C#中的方法
在C#中,函數被稱為方法,這是為了強調函數在面向對象編程中的概念。在面向對象編程中,方法是類或結構體的一個成員,它可以用來實現類或結構體的行為。
在C#之前的編程語言中,函數通常被稱為子程式或過程。這些名稱強調了函數作為獨立代碼塊的概念。然而,在面向對象編程中,函數不再是獨立的代碼塊,而是類或結構體的一個成員。因此,使用“方法”這個名稱更能體現函數在面向對象編程中的概念。
此外,C#的設計者還希望將C#與其他面向對象編程語言保持一致。在Java、C++、Python等語言中,函數也被稱為方法。因此,C#使用“方法”這個名稱也是為了保持與這些語言的一致性。
爭議
當然,也有人認為使用“方法”這個名稱會導致混淆。因為“方法”這個名稱在日常生活中也有其他含義。例如,在數學中,“方法”可以指一種解決問題的途徑。在科學研究中,“方法”可以指一種實驗或研究的步驟。因此,有些人認為使用“方法”這個名稱會導致人們對函數的概念產生誤解。
結語
C#使用“方法”這個名稱還是有其合理性的。它可以更好地反映函數在面向對象編程中的概念,並與其他面向對象編程語言保持一致。你對方法的名稱有什麼看法?歡迎留言討論這個話題。
參考:百度百科,wei基百科等
來源公眾號:DotNet開發跳槽❀