Publicado em

Construtores em C#

Partilhar:

Introdução

Os construtores desempenham um papel fundamental na programação orientada a objetos em C#. Eles permitem que inicializemos um objeto no momento de sua criação, garantindo que o objeto comece seu ciclo de vida em um estado válido.

O que são Construtores?

Construtores são métodos especiais que são chamados no momento da criação de um objeto. Eles são usados para inicializar os estados de um objeto com valores específicos e garantir que o objeto esteja pronto para uso imediatamente após sua criação.

Características Chave dos Construtores

  1. Nome Iguais ao da Classe: O nome de um construtor deve ser exatamente o mesmo da classe.
  2. Sem Tipo de Retorno: Construtores não têm tipo de retorno declarado, nem mesmo void.
  3. Sobrecarga de Construtores: Uma classe pode ter mais de um construtor, cada um com diferentes parâmetros.

Tipos de Construtores em C#

  1. Construtor Padrão: É um construtor sem parâmetros. Se nenhum construtor é definido, o C# gera automaticamente um construtor padrão.
  2. Construtor Parametrizado: Aceita parâmetros, permitindo a inicialização de um objeto com valores específicos.
  3. Construtor Estático: Executado uma única vez para inicializar membros estáticos da classe.

Construtores Privados e Cadeia de Construtores

  • Construtores Privados: São usados em padrões de design como Singleton. Eles impedem a criação de instâncias da classe de fora da própria classe.
  • Cadeia de Construtores: Permite que um construtor chame outro na mesma classe usando : this(). Isso ajuda a evitar a duplicação de código.

Exemplo de Código com Diversos Construtores

Vamos observar um exemplo que ilustra os diferentes tipos de construtores:

namespace Base {
  class Pessoa {
    public string Nome { get; set; }
    public int Idade { get; set; }

    // Construtor padrão
    public Pessoa() {
      Nome = "Desconhecido";
    }

    // Construtor parametrizado
    public Pessoa(string nome) {
      Nome = nome;
    }

    // Cadeia de construtores
    public Pessoa(string nome, int idade) : this(nome) {
      Idade = idade;
    }
  }
}

Conclusão

Construtores são fundamentais na programação orientada a objetos. Eles não apenas configuram um objeto para uso imediato, mas também ajudam a manter a integridade dos dados e promover práticas de programação seguras.

Happy coding!