Para que serve um construtor?

Um construtor é um método especializado em uma classe de programação, cuja função é inicializar os atributos (variáveis) de um objeto quando este é criado. Ele é chamado automaticamente assim que um objeto é instanciado.

A principal finalidade de um construtor é garantir que um objeto seja criado em um estado válido, com seus atributos iniciais definidos corretamente. Ele pode ser utilizado para atribuir valores iniciais aos atributos de um objeto, configurar conexões com bancos de dados, abrir e configurar streams de arquivos, ou realizar qualquer outra tarefa de inicialização necessária.

Por exemplo, imagine que você esteja desenvolvendo um sistema de biblioteca, no qual você tem uma classe chamada “Livro”. Cada vez que um livro é criado, é importante que os atributos como título, autor e ano de publicação sejam definidos para garantir que cada instância do objeto livro tenha essas informações. O construtor da classe Livro pode ser utilizado para definir esses valores iniciais.

Aqui está um exemplo simplificado em Java:

public class Livro {
    private String titulo;
    private String autor;
    private int anoPublicacao;

    public Livro(String titulo, String autor, int anoPublicacao) {
        this.titulo = titulo;
        this.autor = autor;
        this.anoPublicacao = anoPublicacao;
    }

    // restante da implementação da classe Livro...
}

No exemplo acima, o construtor da classe Livro recebe três parâmetros (título, autor e ano de publicação) e atribui esses valores aos atributos correspondentes da classe. Quando você cria uma nova instância da classe Livro, o construtor é chamado automaticamente, como neste exemplo:

Livro livro1 = new Livro("O Senhor dos Anéis", "J.R.R. Tolkien", 1954);
Livro livro2 = new Livro("A Guerra dos Tronos", "George R.R. Martin", 1996);

Os construtores são muito úteis para criar objetos convenientemente e garantir que eles estejam em um estado válido desde o início.