我的类包含一些setter方法,只有在setter参数正确时才设置类变量。现在我想在一个计算方法中评估其中几个类变量。如何确保每个变量都包含正确的值?如果我根据NULL检查相应的类变量以查看是否设置了值,或者我是否只能访问计算方法中的Getter方法,然后检查是否包含有效值,这是否足够?
简单地说一下:如果我使用' protected $ foo;'定义一个类变量,默认情况下,在每个PHP版本中它都是NULL,直到设置了另一个值,或者可以是一个未设置的变量,如C还包含随机值?
class Foo {
protected $a;
protected $b;
public setA($val) {
$valFiltered = filter_var($val, FILTER_VALIDATE_INT);
if($valFiltered !== false) {
$this->a = $valFiltered;
return true;
}
else
return false;
}
public setB($val) {
$valFiltered = filter_var($val, FILTER_VALIDATE_INT);
if($valFiltered !== false) {
$this->b = $valFiltered;
return true;
}
else
return false;
}
public function sum() {
if($this->a !== NULL && $this->b !== NULL)
return $this->a + $this->b;
else
return false;
}
}