传递参数在日常编程中很常见,但我们应该将参数作为对象还是值传递?
(A)
public boolean isGreaterThanZero(Payment object) {
if (object.getAmount() > 0) {
return true;
}
return false;
}(B)
public boolean isGreaterThanZero(int amount) {
if (amount > 0) {
return true;
}
return false;
}发布于 2010-11-11 10:58:06
这两个都不是。
使用适当的OOP,您可以在Payment对象上使用isGreaterThanZero(),即:
class Payment {
int amount
public boolean isGreaterThanZero() {
return amount > 0
}
}然后:
Payment payment
boolean flag = payment.isGreaterThanZero()发布于 2010-11-11 11:04:44
假设您询问的是参数传递,而不是对象设计...
在设计方法时,您需要考虑许多方面。
在有意义的地方,尝试减少代码中模块之间的依赖关系。在您的示例中,(A)在Payment对象上引入了不必要的依赖关系。但是,如果该方法需要Payment对象的两个成员变量(因为它特定于某个支付),那么一定要传递一个Payment对象作为参数。
发布于 2010-11-11 11:02:43
这是一个人为的例子,但如果这是接收类与付款的唯一交互,我会为了解耦而使用该值。创建多余的类依赖关系是没有意义的。
编辑: Marcel和我在同一时间输入相同的东西。:)这个。
https://stackoverflow.com/questions/4150961
复制相似问题