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现在也支持。我认为这是一个很好的实践,因为它隐藏了细节 我希望参数较少的调用具有更多+默认值的调用。
您正在从细节较多的调用细节较少的。不知怎的,这有点可疑,但可能只是因为我不熟悉这种方法,为什么这是一种不好的做法?