Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> Язык C

Перегрузка конструктора C#

Перегрузка конструктора C#

В этой статье вы узнаете о перегрузке конструктора в C# с помощью примеров.

В C#, аналогично перегрузке методов, мы также можем перегружать конструкторы. Для перегрузки конструктора должно быть два или более конструктора с одинаковыми именами, но разными

Прежде чем вы узнаете о перегрузке конструктора, обязательно узнайте о конструкторах C#.

<час>

Мы можем выполнить перегрузку конструктора следующими способами:

1. Разное количество параметров

Мы можем перегрузить конструктор, если количество параметров в конструкторе отличается.

 class Car {   

  Car() {
    ...
  }

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

}

Здесь у нас есть три конструктора в классе Car. . Возможно иметь более одного конструктора, поскольку количество параметров в конструкторах разное.

Обратите внимание,

Пример:перегрузка конструктора с другим количеством параметров

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

Вывод

Car constructor

Car constructor with one parameter
Brand: Bugatti

В приведенном выше примере мы перегрузили Car конструктор:

  1. один конструктор имеет один параметр
  2. другой имеет два параметра

На основе номера аргумента, переданного во время вызова конструктора, вызывается соответствующий конструктор.

Здесь

<час>

2. Различные типы параметров

class Car {   

  Car(string brand) {
    ...
   }

  Car(int price) {
    ...
  }
}

Здесь у нас есть две Car конструкторы с одинаковым количеством параметров. Мы можем создавать конструкторы с одинаковыми параметрами, потому что тип данных внутри параметров отличается.

Обратите внимание,

Пример:перегрузка конструктора с различными типами параметров

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

Вывод

Brand: Lamborghini

Price: 50000

В приведенной выше программе мы перегрузили конструктор различными типами параметров.

Здесь

  1. Объект автомобиль - вызывает конструктор с string тип параметра
  2. Объект car2 - вызывает конструктор с int тип параметра
<час>

3. Другой порядок параметров

Car {

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

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

}

Здесь у нас есть два конструктора с одинаковым количеством параметров. Это возможно, потому что порядок типов данных в параметрах другой.

Обратите внимание,

Пример:перегрузка конструктора с другим порядком параметров

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

Вывод

Brand: Bugatti
Price: 50000

Speed: 60 km/hr
Color: Red

В приведенной выше программе мы перегрузили конструкторы с разным порядком параметров.

Здесь

  1. Объект автомобиль - вызывает конструктор с string и int параметр соответственно
  2. Объект car2 - вызывает конструктор с int и string параметр соответственно

Язык C

  1. С# конструктор
  2. Вложенный класс С#
  3. Перегрузка метода C#
  4. Перегрузка оператора Python
  5. Конструкторы Java
  6. Конструктор перечисления Java
  7. Что такое охлаждающая жидкость для двигателя автомобиля?
  8. Перегрузка оператора C++ с примерами
  9. Перегрузка конструктора в Java:что это такое и примеры программ
  10. Java — Конструкторы