我正在学习的PHP书中的一个例子(说明私有属性)从这样开始:
class Account {
private $_totalBalance = 0;
public function makeDeposit($amount) {
$this->_totalBalance+= $amount;
}
public function makeWithdrawal ($amount){
if ($amount < $this->_totalBalance) {
$this->_totalBalance -= $amount;
}
else {
die("insufficient funds <br />" );
}
}
public function getTotalBalance() {
return $this->_totalBalance;
}
}
$a = new Account;
$a->makeDeposit(500);
$a->makeWithdrawal(100);
echo $a->getTotalBalance();
$a->makeWithdrawal(1000);
?>
我的问题是,为什么$ _totalBalance属性在类中而不是对象中赋值?您不希望$ totalBalance的值特定于对象吗?
感谢您的帮助。
答案 0 :(得分:-1)
当您致电$a->makeDeposit()
时,makeDeposit()$this
内部与$a
相同。如果您有其他实例($b = new Account;
),则调用$b->makeDeposit()
将表示$this
与$b
相同。