2010-10-04 65 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书。

它增加了可读性,易于维护,易于调试,结构合理并且避免了代码重复。 我希望它可以帮助:)