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

Posso fazer isso? Quais as implicações que terei? Ou é viável e válido?

Fazendo um new direto:

contaDaMarcela.setTitular(new Cliente());
5 respostas

É totalmente válido esse código, caso vc deseje setar outros atributos de Cliente pode ser realizador extraindo a varíavel.

Cliente c = new Client();
c.setAlgumaCoisa("valor");

contaDaMarcela.setTitular(c);

ou

contaDaMarcela.getTitular.setAlgumaCoisa("valor");

Não existe certo ou errado, mas existe uma importante característica no código que deve ser levada em consideração chamada de legibilidade , que seria o quão fácil é bater o olho no código e entender-lo.

Obrigado Breno, mas o código funciona bem e está assim:

Classe que é a inicializadora:

public class TesteDoido {

    public static void main(String[] args) {

        Conta renato = new Conta();
        //Cliente renato = new Cliente();
        renato.setTitular(new Cliente());

        renato.getTitular().setNome("Paulo");
        renato.setNumero(1234);
        renato.getTitular().setProfissao("Programador");

        renato.mostraConta();

    }

}

Método mostraConta() na classe Conta:

public void mostraConta() {
        getTitular().mostraCliente();
        System.out.println("Numero da conta: " + getNumero());
        System.out.println("Número da agencia: " + getAgencia());
        System.out.println("Saldo atual: " + getSaldo());

    }

Só não seria válido se o cliente já fosse existente e quisesse abrir uma nova conta de outro tipo por exemplo... OU não? Falei besteira?

Tranquilo , são formas diferentes de fazer a mesma coisa.

solução!

Bom o "X" da questão é?

Resp: Depende para que, porque e como será aplicado... Realizei uma abstração do tema e cheguei a esta conclusão, ao meu ver satisfatória.

Independente do contexto do negócio,

objeto.setAlgumaCoisa(new OutraCoisa());

isso será viável se vc não precisa de nada do objeto criado por com o new OutraCoisa()