在PHP中将值赋给类属性

时间:2011-04-30 04:03:33

标签: php properties

我正在学习的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的值特定于对象吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:-1)

当您致电$a->makeDeposit()时,makeDeposit()$this内部与$a相同。如果您有其他实例($b = new Account;),则调用$b->makeDeposit()将表示$this$b相同。