Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida sobre o new Cliente()

A minha dúvida é sobre uma exemplo dado na aula, vou colar o código pra ficar mais fácil de entender.

Tenho a classe Conta

public class Conta {

    double saldo;
    int agencia;
    int numero;
    Cliente titular;
}

e a classe TestaContaSemCliente

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 nessa minha classe Conta em Cliente eu já colocasse new Cliente(), do jeito mostrado:

Cliente titular = new Cliente();  

eu ainda precisaria colocar assim em TestaContaSemCliente?

contaDaMarcela.titular = new Cliente();

Já que eu já estou criando um novo cliente em Conta. Como ficaria essa parte do código em TestaContaSemCliente.

Desculpe se ficou muito confuso como expliquei minha dúvida.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta
solução!

Olá Anne, há diversas forma de você fazer isso, mas respondendo sua pergunta inicial se você fizesse isso:

public class Conta {
    double saldo;
    int agencia;
    int numero;
    Cliente titular = new Cliente();
}

Não precisaria passar o cliente de novo;

Mas o ideal é utilizar o que chamamos de método construtor, por exemplo:

public class Conta {
    double saldo;
    int agencia;
    int numero;
    Cliente titular = new Cliente();

    public Conta(int agencia, int numero, Cliente titular) {
        this.saldo = 0;
        this.agencia = agencia;
        this.numero = numero;
        this.titular = new Cliente();
    }
}

Dessa forma sempre que alguém for utilizar a classe Conta terá que passar a agência, número e o titular sendo impossível criar uma Conta sem essas informações.

Conta novaConta = new Conta(1, 1020, new Cliente());