这是我一直试图找到一个好的约定,但是在某些特殊情况下,我想要将变量传递给方法,而不仅仅是直接在类成员上操作,反之亦然?例如,假设我有一个简单的类,只计算某事物的总价格(原谅超级蹩脚的例子):
class TaxCalculator
{
protected $tax_rate = 0.07;
protected $price = 10;
public function callCalculate()
{
$this->calculate();
}
public function calculate()
{
return $this->price * ( 1 + $this->tax_rate );
}
}
我知道这不是一个真实世界的例子,但在这种情况下,主要关注的是callCalculate()
方法。你通常会这样做,将参数传递给calculate()
方法,还是依赖?或者这可能是我实际上不需要班级成员的情况?
我发现自己有时会回溯,因为感觉我错过了某些东西,比如我传入参数时可能会重复使用功能。
任何反馈都会很棒。提前谢谢。
答案 0 :(得分:2)
这个问题在https://softwareengineering.stackexchange.com/questions/146508/passing-member-variable-as-a-method-parameter有一些很好的答案,尽管最受欢迎的答案不是我的最爱。