-
Notifications
You must be signed in to change notification settings - Fork 0
/
Compte.php
72 lines (69 loc) · 1.87 KB
/
Compte.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?php
class Compte
{
private $libellé;
private $soldinit;
private $devise;
private $argent;
private $titulaire;
public function __construct($libellé, $soldinit, $devise, Titulaire $titulaire)
{
$this->libellé = $libellé;
$this->soldinit = $soldinit;
$this->devise = $devise;
$this->titulaire = $titulaire;
$titulaire->ajouterCompte($this);
}
public function getLibelle()
{
return $this->libellé;
}
public function getSoldInit()
{
return $this->soldinit;
}
public function getDevise()
{
return $this->devise;
}
// Représente le nom du compte, le libellé.
public function setLibelle($libellé)
{
$this->libellé = $libellé;
}
// Représente le solde initial du ou des comptes.
public function setSoldInit($soldinit)
{
$this->soldinit = $soldinit;
}
// représente la devise monétaire qu'accueil ce compte, actuellement l'euros.
public function setDevise($devise)
{
$this->devise = $devise;
}
// fonction permettant le crédit d'un compte bancaire.
public function crediter($argent)
{
$this->soldinit += $argent;
}
// fonction permettant le débit d'un compte bancaire.
public function debiter($argent)
{
if ($this->getSoldInit() >= $argent) {
$this->soldinit -= $argent;
}
}
// fonction permettant le virement entre 2 comptes. ex (compte courant et livre A).
public function virement(Compte $compteDestinataire, float $argent)
{
$this->debiter($argent);
$this->debiter($argent);
$compteDestinataire->crediter($argent);
}
// Convertis en chaines de caractères.
public function __toString()
{
return $this->libellé . " / " . $this->soldinit . " / " . $this->devise;
}
}
?>