我有以下方法:
public myMethod(argument1)
{
int myVariable = myMethod2(argument1)
...
}
将一个参数从一种方法传递给另一种方法是不好的做法吗?我知道存在替代方法(例如我可以使用静态变量),但是出于学习和争论的目的,我不能这样做。
答案 0 :(得分:0)
这是一个面向对象的编程可能变得有用的示例。例如,您可以定义一个这样的类。
class MyClass
{
private:
int myArgument;
public:
myMethod()
{
myvariable = myMethod2(); //now you don't need to worry
about passing in the redundant argument
}
myMethod2()
{
return myArgument*2;
}
};
就您的示例而言,该类对于该应用程序可能是多余的,因此,此事取决于您。如果您开始意识到要在大量相关函数之间传递相同的参数,那就是在其中将数据封装在对象中的想法变得有价值的地方(假设您使用的是支持OOP的语言,例如C ++)。