29-Construtores en C#


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.

Puede ser utilizado para establecer valores iniciales para los campos:

Ejemplo

// Creamos una clase Car
class Car
{
  public string model;  // Cramos un campo

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

  static void Main(string[] args)
  {
    Car Seat = new Car();  // Cree un objeto de Car Class (esto llamará al constructor)
    Console.WriteLine(Seat.model);  //Imprimimos el valor del modelo
  }
}

// Salida "Ibiza"
                           

...

El nombre del Construtor tiene que coincidir con el nombre de la clase y no puede tener el tipo de retorno void o int

El construtor solo puede ser llamado despues de crear el objecto

Todas las clases tienen construtores por defecto

Si no creas una clase contrutor el C# la crea

Sin embargo entonces no puedes estabelecer los valores iniciales de los campos




Parámetros del constructor

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

El seguiente ejemplo agrega un parametro string modelName al construtor

dentro del construtor estabelecemos modela modelName ( model=modelName).

cuando llamamos el constructor, le pasamos un parámetro al constructor ( "Ibiza"), que fijará el valor de model a "Ibiza":

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 Seat = new Car("Ibiza");
    Console.WriteLine(Seat.model);
  }
}

// salida "Ibiza"                        

Puedes tener tantos parámetros como quieras:

Ejemplo

 class Car
 {
   public string model;
   public string color;
   public int year;
 
   // Create a class constructor with multiple parameters
   public Car(string modelName, string modelColor, int modelYear)
   {
     model = modelName;
     color = modelColor;
     year = modelYear;
   }
 
   static void Main(string[] args)
   {
     Car Seat = new Car("Ibiza", "Red", 1969);
     Console.WriteLine(Seat.color + " " + Seat.year + " " + Seat.model);
   }
 }
 
 
 // Outputs Red 1969 Ibiza                       

Sugerencia: al igual que otros métodos, los constructores se pueden sobrecargar utilizando diferentes números de parámetros.


Diferencia con y sin construtor

Los construtores ahorran codigo, lo vemos en los seguintes ejemplos con y sin contrutor

Ejemplo sin construtor

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

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

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



Ejemplo con construtor

            class Program
            {
              static void Main(string[] args)
              {
                Car Seat = new Car("Ibiza", "Red", 1969);
                Car Opel = new Car("Astra", "White", 2005);
            
                Console.WriteLine(Seat.model);
                Console.WriteLine(Opel.model);
              }
            }           
    





Publicar un comentario

0 Comentarios