Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Overloading 重载:参数较多的方法调用参数较少的方法_Overloading - Fatal编程技术网

Overloading 重载:参数较多的方法调用参数较少的方法

Overloading 重载:参数较多的方法调用参数较少的方法,overloading,Overloading,我正在和我的同事争论。重载两个方法时,如果参数较多的方法调用参数较少的方法,是否会被视为不好的做法 例如: method (P p1, P p2, P p3) { <do something with p1 and p2 => newP>; method (newP, p3); } method (P p1, P p2) { .... } 方法(p1、p2、p3){ newP>; 方法(newP,p3); } 方法(p1,p2){ .

我正在和我的同事争论。重载两个方法时,如果参数较多的方法调用参数较少的方法,是否会被视为不好的做法

例如:

method (P p1, P p2, P p3) {
       <do something with p1 and p2 => newP>;
       method (newP, p3);
}
method (P p1, P p2) {
       ....
}
方法(p1、p2、p3){
newP>;
方法(newP,p3);
}
方法(p1,p2){
....
}

像这样的重载链接是一种常见的做法(特别是对于构造函数)-我不会说它是坏的,尽管它可能像大多数语言功能一样被滥用

就减少代码重复而言,这是一个很好的实践。大多数时候,我发现它也更具可读性


我想说,使用这种技术是个人意见和风格的问题,而不是绝对的好或坏的做法。

这是构造函数调用中使用的一般范例,即具有多个参数的调用具有较少参数的方法,然后使用剩余参数继续初始化。我不认为在构建对象的上下文中这是一种不好的做法,但我不确定它在其他情况下是否有意义。

在某些情况下,我们可以选择具有多个参数的方法,例如c中的printf。Java现在也支持。

我认为这是一个很好的实践,因为它隐藏了细节

我希望参数较少的调用具有更多+默认值的调用。
您正在从细节较多的调用细节较少的。不知怎的,这有点可疑,但可能只是因为我不熟悉这种方法,

为什么这是一种不好的做法?