public class Cliente {
private String nome;
private String cpf;
private String profisao;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCpf() {
return cpf;
}
public void setCpf(String cpf) {
this.cpf = cpf;
}
public String getProfisao() {
return profisao;
}
public void setProfisao(String profisao) {
this.profisao = profisao;
}
}
public class Conta {
private double saldo;
private int agencia;
private int numero;
private Cliente titular;
public double getSaldo() {
return this.saldo;
}
void deposita(double valor) {
this.saldo += valor;
System.out.println("foi depositado " + valor + " para vc " + getTitular().getNome());
}
int ok = 1;
public boolean retiraValor(double valor) {
if (this.saldo >= valor) {
this.saldo -= valor;
ok = 1;
return true;
} else {
ok = 0;
return false;
}
}
public boolean saca(double valor) {
retiraValor(valor);
if (ok == 1) {
System.out.println("saque efetuado R$" + valor);
return true;
}
System.out.println("saldo Insuficiente, para realizar o saque");
return false;
}
public boolean transfere(double valor, Conta destino) {
retiraValor(valor);
if (ok == 1) {
System.out.println(
this.getTitular().getNome() + " transferencia efetuada R$" + valor + " para " + destino.getTitular().getNome());
destino.deposita(valor);
return true;
} else {
System.out.println("saldo Insuficiente, para realizar a transferencia");
return false;
}
}
public int getNumero() {
return this.numero;
}
public void setNumero(int numero) {
this.numero = numero;
}
public int getAgencia() {
return this.agencia;
}
public void setAgencia(int agencia) {
this.agencia = agencia;
}
public Cliente getTitular() {
return this.titular;
}
public void setTitular(Cliente titular) {
this.titular = titular;
}
}
public class TestaBanco {
public static void main(String[] args) {
Conta contaDoAndre = new Conta();
Cliente andre = new Cliente();
contaDoAndre.setTitular(andre);
andre.setNome("Andre M Geraseev");
andre.setCpf("123.123.123.12");
andre.setProfisao("Gastronomo");
Conta contaDaChris = new Conta();
Cliente chris = new Cliente();
contaDaChris.setTitular(chris);
contaDaChris.getTitular().setNome("Christiane R Sakuragi");
//Em cima poderia ter usado apenas chris.setNome
chris.setCpf("321321321-32");
chris.setProfisao("Fisioterapeuta");
contaDaChris.deposita(500);
contaDoAndre.deposita(10);
contaDaChris.transfere(20, contaDoAndre);
System.out.println(contaDoAndre.getSaldo());
}
}
saida
foi depositado 500.0 para vc Christiane R Sakuragi
foi depositado 10.0 para vc Andre M Geraseev
Christiane R Sakuragi transferencia efetuada R$20.0 para Andre M Geraseev
foi depositado 20.0 para vc Andre M Geraseev
30.0