Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Instanciar Objetos dentro do construtor é uma boa neste e em outros casos?

Olá Professor, boa noite! Falando sobre construtores eu fiquei com uma dúvida sobre a possibilidade de instanciar objetos dentro do construtor, como por exemplo usando Cliente X Endereço.

Assumindo que tenho um requisito onde fica explicito que todo cliente tem um endereço eu sempre precisarei em algum momento instanciar a classe endereço para cadastrar os dados do cliente.

Neste caso eu poderia colocar já no construtor da classe cliente , o comando para instanciar um objeto endereço?

public class Cliente {

    private String nome;
    private String cpf;
    private Endereco endereco;

    public Cliente() {
        endereco = new Endereco();
    }

isso faz sentido ? é uma boa pratica?

3 respostas
solução

Boa noite, Paulo! Como vai?

Faz total sentido! Inclusive, para te trazer uma informação extra, outra possibilidade seria receber o endereço pelo construtor! Daí quem criar a instância de Cliente fica responsável também por informar o endereço! E isso faria ainda mais sentido, afinal de contas a nossa classe Cliente não precisa obrigatoriamente saber como criar uma instância de Endereco! Ficaria assim:

public class Cliente {

    private String nome;
    private String cpf;
    private Endereco endereco;

    public Cliente(Endereco endereco) {
        this.endereco = endereco;
    }
}

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Excelente, Obrigado Professor.

Por nada, Paulo! Sempre que tiver qualquer dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!