Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

Sobrecarga do construtor C#

Sobrecarga do construtor C#


Neste artigo, você aprenderá sobre sobrecarga de construtor em C# com a ajuda de exemplos.

Em C#, semelhante à sobrecarga de métodos, também podemos sobrecarregar construtores. Para sobrecarga de construtor, deve haver dois ou mais construtores com o mesmo nome, mas diferentes


Antes de aprender sobre a sobrecarga do construtor, certifique-se de conhecer os construtores C#.


Podemos executar a sobrecarga de construtor das seguintes maneiras:

1. Número diferente de parâmetros


Podemos sobrecarregar o construtor se o número de parâmetros em um construtor for diferente.
 class Car {   

  Car() {
    ...
  }

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

}

Aqui, temos três construtores na classe Car . É possível ter mais de um construtor porque o número de parâmetros nos construtores é diferente.

Notar que,

Exemplo:Sobrecarga de construtor com número diferente de parâmetro

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

Saída
Car constructor

Car constructor with one parameter
Brand: Bugatti

No exemplo acima, sobrecarregamos o Car construtor:
  1. um construtor tem um parâmetro
  2. outro tem dois parâmetros

Com base no número do argumento passado durante a chamada do construtor, o construtor correspondente é chamado.

Aqui,

2. Diferentes tipos de parâmetros

class Car {   

  Car(string brand) {
    ...
   }

  Car(int price) {
    ...
  }
}

Aqui, temos dois Carro construtores com o mesmo número de parâmetros. Podemos criar construtores com os mesmos parâmetros porque o tipo de dados dentro dos parâmetros é diferente.



Notar que,

Exemplo:sobrecarga de construtor com 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();
    }
  }
}

Saída
Brand: Lamborghini

Price: 50000

No programa acima, sobrecarregamos o construtor com diferentes tipos de parâmetros.

Aqui,
  1. Objeto carro - chama o construtor com string parâmetro de tipo
  2. Objeto car2 - chama o construtor com int parâmetro de tipo

3. Ordem diferente de parâmetros

Car {

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

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

}

Aqui, temos dois construtores com o mesmo número de parâmetros. Isso é possível porque a ordem do tipo de dados nos parâmetros é diferente.

Notar que,

Exemplo:sobrecarga de construtor com ordem diferente 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();
    }
  }
}

Saída
Brand: Bugatti
Price: 50000

Speed: 60 km/hr
Color: Red

No programa acima, sobrecarregamos os construtores com diferentes ordens de parâmetros.

Aqui,
  1. Objeto carro - chama o construtor com string e int parâmetro respectivamente
  2. Objeto car2 - chama o construtor com int e string parâmetro respectivamente

Linguagem C

  1. Construtor C#
  2. Classe aninhada C#
  3. Sobrecarga do método C#
  4. Sobrecarga do Operador Python
  5. Construtores Java
  6. Construtor de enumeração Java
  7. O que é refrigerante de motor de carro?
  8. Sobrecarga do operador C++ com exemplos
  9. Sobrecarga de construtor em Java:o que é e exemplos de programas
  10. Java - Construtores