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"
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"
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
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);
}
}
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);
}
}