-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathConta.java
72 lines (50 loc) · 1.35 KB
/
Conta.java
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
public abstract class Conta {
protected double saldo;
private int agencia;
private int numero;
private Cliente titular;
private static int total = 0;
public Conta(int agencia, int numero) {
Conta.total ++;
this.agencia = agencia;
this.numero = numero;
this.saldo = 0; //Isso significa que toda conta começa com R$100,00 de saldo
System.out.println("Criando uma conta numero: " + this.numero);
System.out.println("O total de contas até o momento é: " + Conta.total);
}
public static int getTotal() {
return Conta.total;
}
public abstract void deposita(double valor);
public void saca(double valor) throws SaldoInsuficienteException {
if(this.saldo < valor) {
throw new SaldoInsuficienteException("Saldo: " + this.saldo + ", valor: " + valor);
}
this.saldo -= valor;
}
public void transfere(double valor, Conta destino) throws SaldoInsuficienteException {
this.saca(valor);
destino.deposita(valor);
}
public double getSaldo() {
return saldo;
}
public int getNumero() {
return numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public int getAgencia() {
return agencia;
}
public void setAgencia(int agencia) {
this.agencia = agencia;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
public Cliente getTitular() {
return titular;
}
}