3
respostas

Estou com duvida sobre isso

Teria um jeito mais facil de colocar isso ?? Tipo é necessario colocar new Cliente e new Conta , ou seja, uma linha apenas com ambas daria pra fazer??

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

    Conta contaPaulo = new Conta(500, 600);
    Cliente paulo = new Cliente();
    contaPaulo.setTitular(paulo);

    contaPaulo.getTitular().setNome("Paulo Cardoso");
    System.out.println(contaPaulo.getTitular().getNome());

    }
}
3 respostas

Dá pra fazer, porém é menos expressivo. em outras palavras, para quem lê o código fica mais difícil de compreender o que você está fazendo. Um dos grandes ganhos da programação orientada a objetos deve ser a manutenibilidade (facilidade de dar manutenção no código), pra isso ele deve ser mais legível e fácil de entender.

Mas, respondendo a sua pergunta, você poderia fazer como abaixo, mas observe que a legibilidade fica pior:

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

Conta contaPaulo = new Conta(500, 600);
contaPaulo.setTitular(new Cliente());

contaPaulo.getTitular().setNome("Paulo Cardoso");
System.out.println(contaPaulo.getTitular().getNome());

}

}

Uma versão mais fácil ainda de entender seria:

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

Conta contaPaulo = new Conta(500, 600);

Cliente paulo = new Cliente("Paulo Cardoso");  // Faz sentido o cliente receber um nome ao ser criado. Para isso você deve ter um construtor que recebe um parâmetro.

contaPaulo.setTitular(paulo);

// linha removida:  contaPaulo.getTitular().setNome("Paulo Cardoso");

System.out.println(contaPaulo.getTitular().getNome());
}

}

Da para fazer sim, porem não é recomendado. Geralmente quando criamos um sistema outros devs darão manuntenção nele no futuro, então é bom que o codigo seja o mais simples e legivel possivel seguindo as boas praticas.

Eu estou apenas fazendo um comentario, pois a resposta anterior a minha já tem uma explicação mais completa.

Muito obrigado, ajudou bastante.