PHP类和方法初学者

PHP类和方法初学者,php,class,methods,Php,Class,Methods,我开始学习PHP类和方法,作为实践练习,我决定创建一个名为Bank Account的类,并尝试实现DisplayBalance()、drawings()和Transaction()方法 大多数情况下都能正常工作,我可以显示余额,也可以从账户中加减“货币”,但我还想做的是,当货币提取超过初始余额时,删除余额回显消息,并将其替换为“无更多货币”回显消息 此时会弹出错误消息,但也会显示余额。有人能给我指出一个正确的方向吗?当我开始享受我的课程和方法的经验时,请不要太沮丧 我的代码: <?php

我开始学习PHP类和方法,作为实践练习,我决定创建一个名为Bank Account的类,并尝试实现DisplayBalance()、drawings()和Transaction()方法

大多数情况下都能正常工作,我可以显示余额,也可以从账户中加减“货币”,但我还想做的是,当货币提取超过初始余额时,删除余额回显消息,并将其替换为“无更多货币”回显消息

此时会弹出错误消息,但也会显示余额。有人能给我指出一个正确的方向吗?当我开始享受我的课程和方法的经验时,请不要太沮丧

我的代码:

<?php

class BankAccount{
    public $balance = 10.5;

    public function DisplayBalance(){
        if(($this->balance)<0){
            return false;
        }else{
            return 'Balance: '.$this->balance.'</br>';
        }
    }

    public function Withdraw($amount){

        if (($this->balance)<$amount){
        echo 'Not Enough Founds: '.'</br>';
        }else{
        $this->balance=$this->balance - $amount;
        }
    }

    public function Transaction($trans){
        $this->balance=$this->balance + $trans;
    }
}


$alex = new BankAccount;
$alex->Withdraw(12);
echo $alex->DisplayBalance();

$abdul = new BankAccount;
$abdul->Transaction(10);
echo $abdul->DisplayBalance();

?>

您首先要做的是收回(12),发生的情况如下:

 if (($this->balance)<$amount){
    echo 'Not Enough Founds: '.'</br>';
if(($this->余额)
公共功能提取($amount){
$this->balance=$this->balance-$amount;
}
公共功能显示平衡(){
如果($this->balance<0){
返回“资金不足:”。
; }否则{ 返回“余额:”。$this->Balance.
”; } }
或者你可以试试这个

class BankAccount{
  public $balance = 10.5;
  public $error = false;

  public function DisplayBalance(){
    if($this->error){
        $this->error = false;
        return 'Not Enough Funds: '.'</br>';
    }else{
        return 'Balance: '.$this->balance.'</br>';
    }
  }

  public function Withdraw($amount){

     if (($this->balance)<$amount){
       $this->error = true;
     }else{
       $this->balance=$this->balance - $amount;
     }
 }
}
$alex = new BankAccount;
$alex->Withdraw(12);
echo $alex->DisplayBalance();
class银行账户{
公共美元余额=10.5;
public$error=false;
公共功能显示平衡(){
如果($this->error){
$this->error=false;
返回“资金不足:”。
; }否则{ 返回“余额:”。$this->Balance.
”; } } 公共功能提取(金额){ 如果($this->balance)错误=true; }否则{ $this->balance=$this->balance-$amount; } } } $alex=新银行账户; $alex->draw(12); echo$alex->DisplayBalance();
请提供您得到的输出?以及您想要的输出?您不应该在方法中回显任何内容。而是让它们返回字符串。使您的代码更易于维护。可能
如果($this->balance)balance)
public function Withdraw($amount){

    if (($this->balance)<$amount){
      // $this->balance=0; you can zero your balance out
      // $this->balance -= $amount; or just make it -1.5 so display() function would
      // do its job
      echo 'Not Enough Funds: '.'</br>';
    }else{ 
      $this->balance=$this->balance - $amount;
    }
}
 public function Withdraw($amount){
     $this->balance=$this->balance - $amount;
 }

 public function DisplayBalance(){
    if($this->balance < 0){
        return 'Not Enough Funds: '.'</br>';
    }else{
        return 'Balance: '.$this->balance.'</br>';
    }
  }
class BankAccount{
  public $balance = 10.5;
  public $error = false;

  public function DisplayBalance(){
    if($this->error){
        $this->error = false;
        return 'Not Enough Funds: '.'</br>';
    }else{
        return 'Balance: '.$this->balance.'</br>';
    }
  }

  public function Withdraw($amount){

     if (($this->balance)<$amount){
       $this->error = true;
     }else{
       $this->balance=$this->balance - $amount;
     }
 }
}
$alex = new BankAccount;
$alex->Withdraw(12);
echo $alex->DisplayBalance();