MEJOR SITIO PARA DESARROLLADORES WEB
Lenguaje C#. W3Schools lecciones en español

Ua En De

C# Constructores


Constructores

Un constructor es un método especial que se utiliza para inicializar objetos. La ventaja de un constructor es que se llama cuando se crea un objeto de una clase. Se puede utilizar para establecer valores iniciales para campos:

Ejemplo

Create a constructor:

// Crear una clase de coche
class Car
{
  public string model;  // Crear un campo

  // Crea un constructor de clase para la clase Car
  public Car()
  {
    model = "Mustang"; // Establecer el valor inicial para el modelo.
  }

  static void Main(string[] args)
  {
    Car Ford = new Car();  // Crea un objeto de la Clase Car (esto llamará al constructor)
    Console.WriteLine(Ford.model);  // Imprimir el valor del modelo
  }
}
// Salidas "Mustang"

Inténtalo tú mismo »

Tenga en cuenta que el nombre del constructor debe coincidir con el nombre de la clase y no puede tener un tipo de retorno (como void o int).

También tenga en cuenta que se llama al constructor cuando se crea el objeto.

Todas las clases tienen constructores de forma predeterminada: si usted no crea un constructor de clase usted mismo, C# crea uno por usted. Sin embargo, entonces no podrá establecer valores iniciales para los campos.

¡Los constructores ahorran tiempo! Eche un vistazo al último ejemplo de esta página para comprender realmente por qué.


Parámetros del constructor

Los constructores también pueden tomar parámetros, que se utilizan para inicializar campos.

El siguiente ejemplo agrega un parámetro string modelName al constructor. Dentro del constructor configuramos model en modelName (model=modelName). Cuando llamamos al constructor, le pasamos un parámetro ("Mustang"), que establecerá el valor de model en "Mustang":

Ejemplo

class Car
{
  public string model;

  // Crear un constructor de clase con un parámetro
  public Car(string modelName)
  {
    model = modelName;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang");
    Console.WriteLine(Ford.model);
  }
}
// Salidas "Mustang"

Inténtalo tú mismo »

Puedes tener tantos parámetros como quieras:

Ejemplo

class Car
{
  public string model;
  public string color;
  public int year;

  // Crea un constructor de clase con múltiples parámetros
  public Car(string modelName, string modelColor, int modelYear)
  {
    model = modelName;
    color = modelColor;
    year = modelYear;
  }

  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Console.WriteLine(Ford.color + " " + Ford.year + " " + Ford.model);
  }
}
// Salidas Red 1969 Mustang

Inténtalo tú mismo »

Consejo: Al igual que otros métodos, los constructores se pueden sobrecargar usando diferentes números de parámetros.


Los constructores ahorran tiempo

Cuando consideres el ejemplo del capítulo anterior, notarás que los constructores son muy útiles, ya que ayudan a reducir la cantidad de código:

Sin constructor:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car();
    Ford.model = "Mustang";
    Ford.color = "red";
    Ford.year = 1969;

    Car Opel = new Car();
    Opel.model = "Astra";
    Opel.color = "white";
    Opel.year = 2005;

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

Inténtalo tú mismo »

Con constructor:

prog.cs

class Program
{
  static void Main(string[] args)
  {
    Car Ford = new Car("Mustang", "Red", 1969);
    Car Opel = new Car("Astra", "White", 2005);

    Console.WriteLine(Ford.model);
    Console.WriteLine(Opel.model);
  }
}

Inténtalo tú mismo »