Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

Sobrecarga del constructor de C#

Sobrecarga de constructores de C#

En este artículo, aprenderá sobre la sobrecarga de constructores en C# con la ayuda de ejemplos.

En C#, similar a la sobrecarga de métodos, también podemos sobrecargar constructores. Para la sobrecarga de constructores, debe haber dos o más constructores con el mismo nombre pero diferentes

Antes de aprender sobre la sobrecarga de constructores, asegúrese de conocer los constructores de C#.


Podemos realizar la sobrecarga del constructor de las siguientes maneras:

1. Número diferente de parámetros

Podemos sobrecargar el constructor si la cantidad de parámetros en un constructor es diferente.

 class Car {   

  Car() {
    ...
  }

  Car(string brand) {
    ...
  }
    
  Car(string brand, int price) {
    ...
  }

}

Aquí, tenemos tres constructores en la clase Car . Es posible tener más de un constructor porque la cantidad de parámetros en los constructores es diferente.

Tenga en cuenta que,

Ejemplo:Sobrecarga de constructor con diferente número de parámetros

using System;

namespace ConstructorOverload {

  class Car {   
    
    // constructor with no parameter
    Car() {
      Console.WriteLine("Car constructor");
    }
     
    // constructor with one parameter
    Car(string brand) {
      Console.WriteLine("Car constructor with one parameter");
      Console.WriteLine("Brand: " + brand);
    }

    static void Main(string[] args) {

      // call with no parameter
      Car car = new Car();

      Console.WriteLine();

      // call with one parameter 
      Car car2 =  new Car("Bugatti");
     
      Console.ReadLine();
    }
  }
}

Salida

Car constructor

Car constructor with one parameter
Brand: Bugatti

En el ejemplo anterior, hemos sobrecargado el Car constructor:

  1. un constructor tiene un parámetro
  2. otro tiene dos parámetros

Según el número del argumento pasado durante la llamada al constructor, se llama al constructor correspondiente.

Aquí,


2. Diferentes tipos de parámetros

class Car {   

  Car(string brand) {
    ...
   }

  Car(int price) {
    ...
  }
}

Aquí tenemos dos Coche constructores con el mismo número de parámetros. Podemos crear constructores con los mismos parámetros porque el tipo de datos dentro de los parámetros es diferente.

Tenga en cuenta que,

Ejemplo:sobrecarga del constructor con diferentes tipos de parámetros

using System;

namespace ConstructorOverload {

  class Car {   
    
    // constructor with string parameter
    Car(string brand) {
      Console.WriteLine("Brand: " + brand);
    }

    // constructor  with int parameter
    Car(int price) {
      Console.WriteLine("Price: " + price);
    }

    static void Main(string[] args) {

      // call constructor  with string parameter
      Car car = new Car("Lamborghini");
      
      Console.WriteLine();

      // call constructor  with int parameter
      Car car2 =new Car(50000);
    
      Console.ReadLine();
    }
  }
}

Salida

Brand: Lamborghini

Price: 50000

En el programa anterior, hemos sobrecargado el constructor con diferentes tipos de parámetros.

Aquí,

  1. Objeto coche - llama al constructor con string tipo de parámetro
  2. Objeto coche2 - llama al constructor con int tipo de parámetro

3. Diferente orden de parámetros

Car {

  Car(string brand, int price) {
    ...
  }

  Car(int speed, string color) {
    ... 
  }

}

Aquí tenemos dos constructores con el mismo número de parámetros. Esto es posible porque el orden del tipo de datos en los parámetros es diferente.

Tenga en cuenta que,

Ejemplo:sobrecarga del constructor con diferente orden de parámetros

using System;

namespace ConstructorOverload {

  class Car {   
    
    // constructor with string and int parameter
    Car(string brand, int price) {

      Console.WriteLine("Brand: " + brand);
      Console.WriteLine("Price: " + price);
    }
    
    // constructor with int and string parameter
    Car(int speed, string color) {
      
      Console.WriteLine("Speed: " + speed + " km/hr");
      Console.WriteLine("Color: " + color);
    }
    static void Main(string[] args) {

      // call constructor  with string and int parameter
      Car car = new Car("Bugatti", 50000);
      
      Console.WriteLine();

      // call constructor with int and string parameter
      Car car2 =new Car(60, "Red");
    
      Console.ReadLine();
    }
  }
}

Salida

Brand: Bugatti
Price: 50000

Speed: 60 km/hr
Color: Red

En el programa anterior, hemos sobrecargado los constructores con diferentes órdenes de parámetros.

Aquí,

  1. Objeto coche - llama al constructor con string y int parámetro respectivamente
  2. Objeto coche2 - llama al constructor con int y string parámetro respectivamente

Lenguaje C

  1. Constructor C#
  2. Clase anidada de C#
  3. Sobrecarga del método C#
  4. Sobrecarga del operador de Python
  5. Constructores Java
  6. Constructor de enumeración de Java
  7. ¿Qué es el refrigerante de motor de automóvil?
  8. Sobrecarga de operadores de C++ con ejemplos
  9. Sobrecarga de constructores en Java:qué es y ejemplos de programas
  10. Java - Constructores
  11. Sobrecarga de C++ (operador y función)