Fazendo um new direto:
contaDaMarcela.setTitular(new Cliente());
Fazendo um new direto:
contaDaMarcela.setTitular(new Cliente());
É 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.
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()