你称它们为功能,程序或方法吗?

时间:2010-05-07 07:01:57

标签: oop theory

考虑标准的c#'功能'

public void foo() { //一些代码 }

在c或c ++中,这被称为'函数' - 即使没有参数也没有返回任何值。在另一种语言中,它可能是一个“程序”。 在面向对象时,如果是一个类成员,它将被称为“方法”。 在c#中使用的正确术语是什么?

8 个答案:

答案 0 :(得分:4)

  • 方法:类的功能。
  • 功能:类外的功能,只能在全对象语言中使用(如C ++,C等)。
  • 过程:不返回任何内容的函数/ void。我个人不喜欢这个词,我宁愿使用'function'

做出选择=)

编辑:更准确地说,方法,功能和程序是用于描述子程序的OOP字。有些语言有自己的词汇,比如Prolog中的“谓词”,或者C ++ / C#/ Java中的“构造函数”,甚至是C#中的“属性”。

答案 1 :(得分:2)

只是为了混淆这个问题:(来自C#语言规范)

  

7.4 Function members
  函数成员是包含可执行语句的成员。函数成员始终是类型的成员,不能是名称空间的成员。 C#定义了以下类别的函数成员:
      *方法
      *物业
      *活动
      *索引器
      *用户定义的操作员
      *实例构造函数
      *静态构造器
      *析构函数

  

10. Classes
  类是一个数据结构,可能包含数据成员(常量和字段),函数成员(方法,属性,事件,索引器,运算符,实例构造函数,析构函数和静态构造函数)和嵌套类型。类类型支持继承,这是一种派生类可以扩展和专门化基类的机制。

因此“函数成员”或“方法”对于C#是正确的。

答案 2 :(得分:2)

方法是OOP 抽象术语。它们描述了对象的行为(动词)。 它们等同于程序编程的一些功能和过程。 (属性等也是功能和程序)。

因此,function是程序中返回某些值的程序。 程序是程序中执行某项操作的程序。 方法,属性等是下一级抽象(在OOP中使用)。它们围绕着功能和程序。

答案 3 :(得分:1)

我认为在C#中将其称为一种方法,因为C#是面向对象的语言。

答案 4 :(得分:1)

如果“函数”是类的一部分,我称之为方法。

如果我用C语言编码(即在表达或非OO习语中),我将其称为函数。

我个人不使用“表达”一词来指代“功能”

答案 5 :(得分:1)

我认为(在Ada中)“过程”通常是正确的术语,而“函数”是一个保证无副作用的过程,也就是说,它只能读取数据并对数据进行操作,并返回它,但不写任何东西或有任何“副作用”。

无论如何,我是一个Java人,即使它应该被称为方法,我称之为一个函数。

答案 6 :(得分:0)

我认为方法是正确的术语,但我怀疑你会得到任何有趣的强光使用任何其他建议的名称。

答案 7 :(得分:0)

由于我花了很多时间使用ADA,我会称之为“程序”,因为它没有返回值。如果它有一个返回值,我会称它为“函数”。

我从来没有看到过说“方法”的观点,尽管这很可能是在谈论作为类成员的函数/过程时使用的正确术语。从来没有真正看到使用另一个术语同样的事情。