Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[DÚVIDA] Associação da class Conta com a classe Cliente

Olá boa tarde!

Poderia ajudar-me a perceber melhor esta questão da associação entre a classe Cliente e a classe Conta através dos códigos abaixo:

A minha dúvida é:

Percebi que o tipo da variável de classe 'titular' foi alterada de String para o tipo Cliente. Até aí ok! Mas pq ou como essa variável (contaDoGuilherme.titular), após termos os objetos Cliente e Conta instânciados, recebe diretamente o valor Guilherme Amorim que está atribuido a guilherme.nome e não recebe outros valores já populados nas variáveis cpf e profissão visto serem todas do mesmo tipo String dentro da classe Cliente?

class Main

public class TestaBanco {

    public static void main(String[] args) {
        Cliente guilherme = new Cliente();
        guilherme.nome = "Guilherme Amorim";
        guilherme.cpf = "222.222.222-22";
        guilherme.profissao = "Programador";

        //System.out.println(guilherme);

        Conta contaDoGuilherme = new Conta();
        //contaDoGuilherme.deposita(100);
        contaDoGuilherme.titular = guilherme;

        System.out.println("Titular da conta: " + contaDoGuilherme.titular.nome+ ", id: "+ contaDoGuilherme.titular);


    }

}

class Conta

public class Conta {
    double saldo;
    int agencia=42;
    int numero;
    Cliente titular;    

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

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

    public boolean transfere(double valor, Conta destino){
        if(this.saldo >= valor) {
            this.saca(valor);             //using a method from the class Conta
            destino.deposita(valor);     //using a method from the class Conta
            return true;
        }
        return false;
    }


}

class Cliente

public class Cliente {

    String cpf;
    String nome;
    String profissao;

}
2 respostas
solução!

fala Guilherme, blz? A classe Conta, possui Cliente (classe Cliente), vc pode popular ela ou não (sera null). O atributo 'titular' tem apenas uma referencia de um objeto criado da classe Cliente

Conta.titular = new Cliente();

Espero ter ajudado

Obrigado Magno.

Ajudou sim.