2010-10-04 66 views
2

我知道如何使用一種方法,這是解決一些任務,但我沒有得到什麼是他們的好處。每一頁都說「這是一段代碼... blabla」,但我還沒有看到任何簡單的解釋,說明哪些方法有效,爲什麼如此重要。如果有人能給我明確的答案,我將非常感激。謝謝!如何使用方法?

+1

我認爲,如果你尋找編程的基礎知識,你會找到這個問題的答案。方法被許多許多書籍廣泛描述... – Younes 2010-10-04 07:22:35

+3

爲什麼不看看http://en.wikipedia.org/wiki/Method_(computer_science)? – sloth 2010-10-04 07:25:53

+4

如果你想知道方法,我不認爲這是一個問題在這裏會幫助你很多。我會選擇一個初學者的C#書,並在閱讀時爲自己編寫代碼並進行實驗時閱讀該書。然後,當你瞭解該書的基礎知識時,無論是對語言的理解還是在此提問,你都會處於更好的位置。即使我們在這裏和那裏遇到小問題,我認爲這對你的情況不會有太大的幫助:) – 2010-10-04 07:27:51

回答

11

它們爲什麼重要?因爲它們是代碼所在的主要地方。 (其他成員類型,如屬性,構造等可以包含代碼,但他們往往包含更少的代碼。)

這是一個有點奇怪的問題,試圖回答,說實話,因爲他們是如此重要。有什麼方法可供選擇?我想你可以把所有的代碼放在屬性,索引器等等中,但這只是相當於擁有方法,而不是自然的形式。

如果你的問題真的是爲什麼把大量的步驟分離成單獨的方法更好,那主要是關於可讀性/可維護性......它更容易理解,重用和維護代碼,而不是使用小的,命名方法而不是一個巨大的方法,它試圖完成整個程序需要執行的任何事情。

+0

+1(只是想看看999k後會發生什麼:-) – 2010-10-04 15:03:37

14

他們協助將邏輯分解成小的相關的代碼塊。這很有用,因爲它支持代碼重用,並且更易於維護和讀取代碼。

一個好方法是做一件事,那件事是用它的名字來描述的。您可以重複使用方法從多個位置執行相同的邏輯,而無需複製它們。

方法上的訪問修飾符允許您控制誰可以執行哪種方法。

2

大塊可重複使用的代碼能夠完成一項任務。在編程中,方法通常類似於動詞。例如,GetDate(), Show(), ValidateUser()等。

1

方法是一個類的行爲。我們稱之爲函數區別它們的方法,因爲函數不需要封裝在對象中(至少在概念上,在c#中,我認爲你不可能有一個函數不是方法)。

設計班級時,應該考慮班級在您的應用程序中執行的行爲。例如,如果我有一個Client課程,該課程可能具有Login,Logout,Buy Service等行爲;這些行爲會告訴你的類將具有什麼方法,並將通知你方法的名稱。

所以,方法的重要性在於它們是一個類的「做」部分。沒有方法,類只是數據的集合(在c#屬性和索引器中擁有像特性的方法,但通常他們不會告訴你什麼是類,就是它的在數據方面具有),所以你可以用Dictionary<string, object>替代你的課程並完成。

0

好吧,我試着回答:

你可能知道,類通常是用於創建一個代表獨立元素的對象。因此,您可以在邏輯上構建您的程序。在現實世界中,每個對象都有某種目的,這意味着它對某件事有好處,它可以做某件事。這意味着它可以執行特定的操作。
該對象的這種操作實際上是方法,即具有特定名稱(反映其目的)的comamnds組,可以調用(執行)以執行此操作,並且如果合適的話返回結果。

4

讓我試試更多一個真實世界的例子,也許這會幫助你?

方法描述了一個對象可以做什麼,例如我們有一輛汽車。一輛車可以做什麼?

究竟,開車!

所以它的一個方法是Drive()。

也許它可以打開它的門,所以有一個Opendoor()方法。

但是現在你不知道打開哪扇門,所以你可以通過給出一個方法 '參數'來指定它。例如,Opendoor方法可以接受一個參數,告訴方法打開哪扇門。

例如Opendoor(「左」)將打開左門,而Opendoor(「右」)將打開右門。所以現在你看到Opendoor已經被用過兩次同一個動作,但你只需要編寫一次!

總之,

類是語言中的對象或名詞。

方法是一個對象可以做的動作,或動詞的語言。

希望這對你有所幫助!

ps:你應該去買一本好的起始書,它會很激動地回答這些問題。

7

Jon Skeet的解釋非常好。我想舉一個簡單的例子。 假設你需要製作咖啡。涉及的步驟是:在容器中取一些牛奶,加熱它,加入咖啡和糖,使其變熱,倒入杯中,然後準備好咖啡。 每次你的程序需要製作咖啡時,你都可以編寫這些步驟,所以它會一次又一次地複製這些步驟並粘貼。相反,您只需將這些步驟放在Method中說成「MakeCoffee()」,並在需要製作咖啡時調用此方法。

還有很多其他的實現和使用,我只是給出了這個簡單的例子,有一個基本的理解。爲了進一步閱讀,我會建議一本好的OOPS書。

它增加了可讀性,易於維護,易於調試,結構合理並且避免了代碼重複。 我希望它可以幫助:)