Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Vincular conta ao cliente

Olá! Minha dúvida é acerca de como posso dizer, no código abaixo, que o contaBreno.titular está no que foi posto em brenoVale (vincular ou ligar um no outro).

public class teste {

public static void main(String[] args) {

    Conta contaBreno = new Conta (1336, 13114);
    contaBreno.deposito(400);
    contaBreno.saca(100);
    System.out.println(contaBreno.getAgencia());
    System.out.println(contaBreno.getNumero());
    System.out.println(contaBreno.getSaldo());

    Cliente brenoVale = new Cliente ("010.010.010-01", "Breno Medeiros Caldas Vale", "Programador");

}
}

Minha classe conta está da seguinte maneira:

public class Conta {

private double saldo;
private double numero;
private double agencia;
private Cliente titular;

// Getters And Setters

public double getSaldo() {
    return saldo;
}
public double getNumero() {
    return numero;
}
public double getAgencia() {
    return agencia;
}
public Cliente getTitular() {
    return titular;
}

// End Of Getters And Setters


public Conta (int numero, int agencia) {
    System.out.println("Seu número de agência e conta são, respectivamente: " + getNumero() + ", " + getAgencia());
    this.numero = numero;
    this.agencia = agencia;
}


public boolean saca (double valor) {
    if (this.saldo >= valor) {
        this.saldo -= valor;
        return true;
    }
        return false;
}    

public boolean transfere (double valor, Conta destinatario) {
    if (this.saldo >= valor ) {
        this.saldo -= valor;
        destinatario.saldo += valor;
        return true;
    }
        return false;

}

public void deposito (double valor) {
    this.saldo += valor;
    }
}

A minha classe Cliente está da seguinte maneira:

public class Cliente {

private String cpf;
private String nome;
private String profissao;    

public Cliente (String cpf, String nome, String profissao) {
    this.cpf = cpf;
    this.nome = nome;
    this.profissao = profissao;
}

public String getCpf() {
    return cpf;
}
public String getNome() {
    return nome;
}
public String getProfissao() {
    return profissao;
}
}

Não consigo definir que "Breno Medeiros Caldas Vale" é o titular da contaBreno! Sei que há um tópico dentro do curso que explica como "ligar" ambos, a diferença é que agora ambos estão privados e acabei por me perder um pouco :/

Grato desde já!

1 resposta

Olá Breno, se entendi a sua pergunta, você pode utilizar duas abordagens, a primeira é atribuir o cliente criado à conta através do método setTitular da classe conta

contaBreno.setTitular(brenoVale)

Outra forma é incluir no construtor da classe conta o titular de forma que, para criar uma conta o titular deve ser informado

public Conta (int numero, int agencia, Cliente titular) {
    System.out.println("Seu número de agência e conta são, respectivamente: " + getNumero() + ", " + getAgencia());
    this.numero = numero;
    this.agencia = agencia;
    this.titular = titular;
}

Para criar uma nova conta você terá algo do tipo

Cliente brenoVale = new Cliente ("010.010.010-01", "Breno Medeiros Caldas Vale", "Programador");
Conta contaBreno = new Conta (1336, 13114, brenoVale);

Abraços