当口头谈论方法时,我从不确定是否应该使用参数或参数或其他词。不管怎样,其他人都知道我的意思,但什么是正确的,这些术语的历史是什么?

我是一名c#程序员,但我也想知道人们是否在不同的语言中使用不同的术语。

声明一下,我是自学的,没有计算机科学的背景。(请不要让我去读《代码完成》,因为我这么做是为了让那些还没有史蒂夫·麦康奈尔这本了不起的书的人受益。)

总结

普遍的共识似乎是,在团队环境中可以互换使用这些术语。除非你在定义精确的术语;然后你也可以使用“正式参数/参数”和“实际参数/参数”来消除歧义。


当前回答

参数是方法定义中的变量。调用方法时,实参是传递到方法参数中的数据。

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

其他回答

无需代码的简单解释

“参数”是一个非常一般、广泛的东西,而“参数”是一个非常具体、具体的东西。这可以通过日常生活中的例子来最好地说明:

例1:自动售货机—Money是参数,$2.00是参数

大多数机器接受输入并返回输出。例如,自动售货机把钱作为输入,然后把碳酸饮料作为输出。在这种特殊情况下,它接受一个参数:金钱。

那么论证是什么呢?如果我往机器里放2美元,那么参数是:2美元-这是使用的非常具体的输入。

例2:汽车-汽油是参数

让我们考虑一辆汽车:他们接受汽油(无铅汽油)作为输入。可以说,这些机器接受的参数类型:汽油。这个论证将是我对我的车进行的精确而具体的输入。例:在我的例子中,论点是:40升无铅汽油/汽油。

例3 -详述论证

参数是输入的一个特定的例子。假设我的机器把一个人作为输入,把他们变成一个不撒谎的人。

那么什么是论证呢?这个参数是被放进机器里的那个人。例如,如果把科林·鲍威尔放进机器里,那么辩论就是科林·鲍威尔。

所以参数是一个抽象的概念,但参数总是一个特定的人,有一个特定的名字,被放入机器。这个论点是具体而具体的。

这就是区别。简单。

困惑吗?

请发表评论,我会解释的。

参数是方法定义中的变量。调用方法时,实参是传递到方法参数中的数据。

public void MyMethod(string myParam) { }

...

string myArg1 = "this is my argument";
myClass.MyMethod(myArg1);

你得回到最基本的问题上来。构造函数和方法都有形参和实参。很多人甚至把构造函数称为特殊的方法。这是一个方法声明参数的使用方式:

      type name(parameters){
           //body of method
          }

这是构造函数声明参数的使用方式:

classname(parameters){
//body
}

现在让我们看一个计算立方体体积的示例代码:

public class cuboid {
    double width;
    double height;
    double depth;

      cuboid(double w,double h,double d) { 
      //Here w,h and d are parameters of constructor
       this.width=w;
       this.height=h;
       this.depth=d;
       }

        public double volume() {
        double v;
        v=width*height*depth;
        return v;
        }
        public static void main(String args[]){
           cuboid c1=new cuboid(10,20,30);
           //Here 10,20 and 30 are arguments of a constructor
           double vol;
           vol=c1.volume();
           System.out.println("Volume is:"+vol);

           }
    }

现在你明白了,当我们在代码后面的某个地方调用对象的构造函数/方法时,传递的是参数而不是形参。因此,形参仅限于定义逻辑对象的地方,而实参则在实际创建物理对象时发挥作用。

假设你是一家航空公司。你造了一架飞机。你在里面安装座椅。然后,你把飞机装满乘客,然后把它送到某个地方。乘客们下了船。第二天,你再次乘坐同一架飞机,同样的座位,但这次乘客不同。

平面是你的函数。

参数是座位。

争论的焦点是坐在座位上的乘客。

function fly(seat1, seat2) {
    seat1.sayMyName();
    // Estraven
    seat2.sayMyName();

    etc.
}

var passenger1 = "Estraven";
var passenger2 = "Genly Ai";

fly(passenger1, passenger2); 

这个例子可能会有所帮助。

int main () {
   int x = 5; 
   int y = 4;

   sum(x, y); // **x and y are arguments**
}

int sum(int one, int two) { // **one and two are parameters**
   return one + two;
}