我去過很多面試,面試官總是問一個問題:「你知道虛擬功能嗎?」 我總是想知道爲什麼有經驗的程序員/開發人員使用虛擬功能。盡我所知..並非所有的函數都可以是虛擬的,只有那些屬於任何類/結構的函數纔是虛擬的。虛擬函數還是虛擬方法,哪一個合適?
因此,我認爲「功能是超和方法的子集。並非所有的功能都可以方法,但是,所有的方法都是函數,因此這將是適合使用的‘虛擬方法’而不是‘虛函數’。
有人可以解釋,爲什麼大多數有經驗的程序員,甚至技術書籍編寫使用的「虛擬功能」,不是「虛方法」?
我去過很多面試,面試官總是問一個問題:「你知道虛擬功能嗎?」 我總是想知道爲什麼有經驗的程序員/開發人員使用虛擬功能。盡我所知..並非所有的函數都可以是虛擬的,只有那些屬於任何類/結構的函數纔是虛擬的。虛擬函數還是虛擬方法,哪一個合適?
因此,我認爲「功能是超和方法的子集。並非所有的功能都可以方法,但是,所有的方法都是函數,因此這將是適合使用的‘虛擬方法’而不是‘虛函數’。
有人可以解釋,爲什麼大多數有經驗的程序員,甚至技術書籍編寫使用的「虛擬功能」,不是「虛方法」?
技術上的方法是那些屬於類和函數是不是沒有興趣,而是像與其他普遍而常見的事物一樣,人們最終混淆了術語,最終「功能」和「方法」既可以指代某種東西,也可以指代另一種東西。回答你的問題......最後,術語是由人們如何使用它來定義的,而不是由最初的意圖所定義的。
也許這個鏈接可以幫助你: -
http://www.dotnet-tricks.com/Tutorial/oops/4a0J170612-Difference-between-function-and-method.html
是的,語言或邏輯上的功能不類的一部分,但方法是成員的類的。或者更簡單地說,方法沒有自己的存在,它們屬於階級。但這些職能有其自身的存在。
我希望這也能澄清你的疑惑。