@Pronchik1
)

Как реализовать метод givemoney?

Как реализовать публичный метод giveMoney который передает деньги от одного пользователя к другому (нельзя передать больше денег чем есть на балансе)? Во время передачи денег выводится сообщение “Пользователь name перечислил $amount пользователю name” Пользователю нельзя изменить баланс любым другим способом кроме giveMoney.
<?php
header('Content-Type: text/html; charset=utf-8');

class User{
private $name;
private $balance;
private $amount = 150;

function __construct($name,$balance){
    $this->name = $name;
    $this->balance = $balance;
}

public function printStatus(){
    echo "У пользователя ".$this->name." сейчас на счету ".$this->balance;
}

public function giveMoney(){
    //
    //
    //
}

}

$user1 = new User("Max",100);
$user2 = new User("Anton",1000);
  • Вопрос задан
  • 68 просмотров
Решения вопроса 1
metallix
@metallix
Backend - developer
public function updateBalance($amount)
    {
        $this->balance += $amount;
    }

    public function giveMoney(User $receiver, $amount)
    {
        if ($this->balance < $amount || $amount <= 0) {
            // Кидай ошибку
        } else {
            $this->balance -= $amount;
            $receiver->updateBalance($amount);
            //Ура, зелень ушла
        }
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы