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

Sobre o new Cliente()

A minha dúvida é a seguinte: Se eu criar o cliente diretamente o associando a conta, como no exemplo dado na aula;

public class TestaContaSemCliente { 
    public static void main(String[] args) { 
        Conta contaDaMarcela = new Conta();
        System.out.println(contaDaMarcela.saldo);

        contaDaMarcela.titular = new Cliente();
        System.out.println(contaDaMarcela.titular);

        contaDaMarcela.titular.nome = "Marcela";
        System.out.println(contaDaMarcela.titular.nome); 
    }
}        

Se eu precisar acessar ou editar um dado somente do cliente, sempre terei que fazer o caminho pela conta? já que diferente do exemplo da aula anterior, eu não dei um "nome" para o cliente (nesse caso, "paulo").

public class TestaBanco { 
    public static void main(String[] args) { 
        Cliente paulo = new Cliente(); 
        paulo.nome = "Paulo Silveira";
        paulo.cpf = "222.222.222-22";
        paulo.profissao = "programador";
    }
}
2 respostas

Oi Ângelo

Isso, você teria que pegar o cliente através da conta

solução!

Oi, Ângelo.

Se você criar uma nova referência no seu método main que aponta para o mesmo objeto do tipo Cliente, é possível você fazer alterações nesse objeto sem fazer diretamente o caminho pela conta.

Pegando o seu caso como exemplo, eu posso criar uma Cliente marcela que aponta para o mesmo objeto contaDaMarcela.titular.

public class Main {
    public static void main(String[] args) {

        Conta contaDaMarcela = new Conta();
        contaDaMarcela.titular = new Cliente();
        contaDaMarcela.titular.nome = "Marcela";
        System.out.println(contaDaMarcela.titular.nome);
        // Marcela

        Cliente marcela = contaDaMarcela.titular;
        System.out.println(marcela.nome);
        // Marcela

    }
}

Desta maneira, você pode realizar alterações no objeto contaDaMarcela.titular através de marcela, sem ter que usar o caminho da Conta.

    marcela.nome = "Marcela de Oliveira";
    System.out.println(marcela.nome);
    // Marcela de Oliveira

    System.out.println(contaDaMarcela.titular.nome);
    // Marcela de Oliveira