我知道如何使用一種方法,這是解決一些任務,但我沒有得到什麼是他們的好處。每一頁都說「這是一段代碼... blabla」,但我還沒有看到任何簡單的解釋,說明哪些方法有效,爲什麼如此重要。如果有人能給我明確的答案,我將非常感激。謝謝!如何使用方法?
如何使用方法?
回答
它們爲什麼重要?因爲它們是代碼所在的主要地方。 (其他成員類型,如屬性,構造等可以包含代碼,但他們往往包含更少的代碼。)
這是一個有點奇怪的問題,試圖回答,說實話,因爲他們是如此重要。有什麼方法可供選擇?我想你可以把所有的代碼放在屬性,索引器等等中,但這只是相當於擁有方法,而不是自然的形式。
如果你的問題真的是爲什麼把大量的步驟分離成單獨的方法更好,那主要是關於可讀性/可維護性......它更容易理解,重用和維護代碼,而不是使用小的,命名方法而不是一個巨大的方法,它試圖完成整個程序需要執行的任何事情。
+1(只是想看看999k後會發生什麼:-) – 2010-10-04 15:03:37
他們協助將邏輯分解成小的相關的代碼塊。這很有用,因爲它支持代碼重用,並且更易於維護和讀取代碼。
一個好方法是做一件事,那件事是用它的名字來描述的。您可以重複使用方法從多個位置執行相同的邏輯,而無需複製它們。
方法上的訪問修飾符允許您控制誰可以執行哪種方法。
大塊可重複使用的代碼能夠完成一項任務。在編程中,方法通常類似於動詞。例如,GetDate(), Show(), ValidateUser()
等。
方法是一個類的行爲。我們稱之爲函數區別它們的方法,因爲函數不需要封裝在對象中(至少在概念上,在c#中,我認爲你不可能有一個函數不是方法)。
設計班級時,應該考慮班級在您的應用程序中執行的行爲。例如,如果我有一個Client
課程,該課程可能具有Login
,Logout
,Buy Service
等行爲;這些行爲會告訴你的類將具有什麼方法,並將通知你方法的名稱。
所以,方法的重要性在於它們是一個類的「做」部分。沒有方法,類只是數據的集合(在c#屬性和索引器中擁有像特性的方法,但通常他們不會告訴你什麼是類,,就是它的在數據方面具有),所以你可以用Dictionary<string, object>
替代你的課程並完成。
好吧,我試着回答:
你可能知道,類通常是用於創建一個代表獨立元素的對象。因此,您可以在邏輯上構建您的程序。在現實世界中,每個對象都有某種目的,這意味着它對某件事有好處,它可以做某件事。這意味着它可以執行特定的操作。
該對象的這種操作實際上是方法,即具有特定名稱(反映其目的)的comamnds組,可以調用(執行)以執行此操作,並且如果合適的話返回結果。
讓我試試更多一個真實世界的例子,也許這會幫助你?
方法描述了一個對象可以做什麼,例如我們有一輛汽車。一輛車可以做什麼?
究竟,開車!
所以它的一個方法是Drive()。
也許它可以打開它的門,所以有一個Opendoor()方法。
但是現在你不知道打開哪扇門,所以你可以通過給出一個方法 '參數'來指定它。例如,Opendoor方法可以接受一個參數,告訴方法打開哪扇門。
例如Opendoor(「左」)將打開左門,而Opendoor(「右」)將打開右門。所以現在你看到Opendoor已經被用過兩次同一個動作,但你只需要編寫一次!
總之,
類是語言中的對象或名詞。
方法是一個對象可以做的動作,或動詞的語言。
希望這對你有所幫助!
ps:你應該去買一本好的起始書,它會很激動地回答這些問題。
Jon Skeet的解釋非常好。我想舉一個簡單的例子。 假設你需要製作咖啡。涉及的步驟是:在容器中取一些牛奶,加熱它,加入咖啡和糖,使其變熱,倒入杯中,然後準備好咖啡。 每次你的程序需要製作咖啡時,你都可以編寫這些步驟,所以它會一次又一次地複製這些步驟並粘貼。相反,您只需將這些步驟放在Method中說成「MakeCoffee()」,並在需要製作咖啡時調用此方法。
還有很多其他的實現和使用,我只是給出了這個簡單的例子,有一個基本的理解。爲了進一步閱讀,我會建議一本好的OOPS書。
它增加了可讀性,易於維護,易於調試,結構合理並且避免了代碼重複。 我希望它可以幫助:)
- 1. 如何使用NavigationWindow.Navigate方法?
- 2. 如何使用heightForRowAtIndexPath方法?
- 3. 如何使用POST方法
- 4. 如何使用.setVisible()方法?
- 5. 如何使用方法'drawAtPoint:withFont:'
- 6. 如何使用prepareForReuse方法
- 7. 如何使用registerReceiver方法?
- 8. 如何使用onclick方法?
- 9. 如何使用readline方法?
- 10. 如何使用onActivityResult方法
- 11. 如何使用POST方法
- 12. 如何使用類方法
- 13. 如何使用replace()方法?
- 14. 如何使用「is」方法
- 15. 如何使用APEX_WEB_SERVICE.make_rest_request方法?
- 16. 如何使用Enumerable方法
- 17. 如何使用GetHBITMAP方法?
- 18. 如何使用RailsAdmin.authorize_with方法?
- 19. 如何使用方法C#
- 20. 如何使用CanvasBitmap.SaveAsync方法?
- 21. 如何使用DataTable.Merge方法
- 22. 如何使用`authenticate_or_request_with_http_token`方法
- 23. 如何使用$ rootScope.Scope的使用方法?
- 24. 如何使用Post方法使用HttpClient?
- 25. 如何使用反射調用方法
- 26. 如何使用NSInvocation調用類方法?
- 27. 如何使用REST調用方法
- 28. 如何使用IBAction方法調用加速器方法?
- 29. 如何使用Python中的方法引用方法名稱?
- 30. GWT:使用JSNI機方法:如何調用方法動態
我認爲,如果你尋找編程的基礎知識,你會找到這個問題的答案。方法被許多許多書籍廣泛描述... – Younes 2010-10-04 07:22:35
爲什麼不看看http://en.wikipedia.org/wiki/Method_(computer_science)? – sloth 2010-10-04 07:25:53
如果你想知道方法,我不認爲這是一個問題在這裏會幫助你很多。我會選擇一個初學者的C#書,並在閱讀時爲自己編寫代碼並進行實驗時閱讀該書。然後,當你瞭解該書的基礎知識時,無論是對語言的理解還是在此提問,你都會處於更好的位置。即使我們在這裏和那裏遇到小問題,我認爲這對你的情況不會有太大的幫助:) – 2010-10-04 07:27:51