Saltar al contenido principal
Publicado el

Constructores en C#

Compartir:

Introducción

Los constructores desempeñan un papel fundamental en la programación orientada a objetos en C#. Permiten inicializar un objeto en el momento de su creación, garantizando que el objeto comience su ciclo de vida en un estado válido.

¿Qué son los Constructores?

Los constructores son métodos especiales que se invocan en el momento en que se crea un objeto. Se utilizan para inicializar el estado de un objeto con valores específicos y garantizar que el objeto esté listo para su uso inmediatamente después de su creación.

Características Clave de los Constructores

  1. Mismo Nombre que la Clase: El nombre de un constructor debe ser exactamente igual al de la clase.
  2. Sin Tipo de Retorno: Los constructores no tienen tipo de retorno declarado, ni siquiera void.
  3. Sobrecarga de Constructores: Una clase puede tener más de un constructor, cada uno con diferentes parámetros.

Tipos de Constructores en C#

  1. Constructor por Defecto: Un constructor sin parámetros. Si no se define ningún constructor, C# genera automáticamente un constructor por defecto.
  2. Constructor Parametrizado: Acepta parámetros, lo que permite inicializar un objeto con valores específicos.
  3. Constructor Estático: Se ejecuta una única vez para inicializar los miembros estáticos de la clase.

Constructores Privados y Encadenamiento de Constructores

  • Constructores Privados: Se utilizan en patrones de diseño como el Singleton. Impiden la creación de instancias de la clase desde fuera de la propia clase.
  • Encadenamiento de Constructores: Permite que un constructor llame a otro dentro de la misma clase usando : this(). Esto ayuda a evitar la duplicación de código.

Ejemplo de Código con Varios Constructores

Veamos un ejemplo que ilustra los diferentes tipos de constructores:

namespace Base {
  class Persona {
    public string Nombre { get; set; }
    public int Edad { get; set; }

    // Constructor por defecto
    public Persona() {
      Nombre = "Desconocido";
    }

    // Constructor parametrizado
    public Persona(string nombre) {
      Nombre = nombre;
    }

    // Encadenamiento de constructores
    public Persona(string nombre, int edad) : this(nombre) {
      Edad = edad;
    }
  }
}

Conclusión

Los constructores son fundamentales en la programación orientada a objetos. No solo configuran un objeto para su uso inmediato, sino que también contribuyen a mantener la integridad de los datos y a promover prácticas de programación seguras.

Happy coding!