工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C# コンストラクターのオーバーロード

C# コンストラクターのオーバーロード

この記事では、例を使用して C# でのコンストラクターのオーバーロードについて学習します。

C# では、メソッドのオーバーロードと同様に、コンストラクターをオーバーロードすることもできます。コンストラクターのオーバーロードの場合、同じ名前で異なるコンストラクターが 2 つ以上存在する必要があります

コンストラクターのオーバーロードについて学習する前に、C# コンストラクターについて知っておく必要があります。


次の方法でコンストラクターのオーバーロードを実行できます:

1.パラメータの数が異なる

コンストラクター内のパラメーターの数が異なる場合、コンストラクターをオーバーロードできます。

 class Car {   

  Car() {
    ...
  }

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

}

ここでは、クラス Car に 3 つのコンストラクターがあります。 .コンストラクターのパラメーターの数が異なるため、複数のコンストラクターを持つことができます。

例:パラメータの数が異なるコンストラクタのオーバーロード

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 つのコンストラクターには 1 つのパラメーターがあります
  • もう 1 つは 2 つのパラメーターを持っています
  • コンストラクターの呼び出し中に渡された引数の数に基づいて、対応するコンストラクターが呼び出されます。

    ここで、


    2.さまざまなタイプのパラメータ

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

    ここに、2 台の があります 同じ数のパラメーターを持つコンストラクター。パラメータ内のデータ型が異なるため、同じパラメータでコンストラクタを作成できます。

    例:さまざまなタイプのパラメーターによるコンストラクターのオーバーロード

    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

    上記のプログラムでは、さまざまなタイプのパラメーターでコンストラクターをオーバーロードしています。

    ここで、

    <オール>
  • オブジェクト - string でコンストラクターを呼び出します 型パラメータ
  • オブジェクト car2 - int でコンストラクターを呼び出します 型パラメータ

  • 3.パラメータの異なる順序

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

    ここでは、同じ数のパラメーターを持つ 2 つのコンストラクターがあります。これは、パラメーターのデータ型の順序が異なるために可能です。

    例:パラメータの順序が異なるコンストラクタのオーバーロード

    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

    上記のプログラムでは、さまざまな順序のパラメーターでコンストラクターをオーバーロードしています。

    ここで、

    <オール>
  • オブジェクト - string でコンストラクターを呼び出します そして int それぞれのパラメータ
  • オブジェクト car2 - int でコンストラクターを呼び出します と string それぞれのパラメータ

  • C言語

    1. C# コンストラクター
    2. C# ネストされたクラス
    3. C# メソッドのオーバーロード
    4. Python 演算子のオーバーロード
    5. Java コンストラクター
    6. Java 列挙型コンストラクター
    7. 車のエンジンクーラントとは何ですか?
    8. C++ 演算子のオーバーロードと例
    9. Java でのコンストラクターのオーバーロード:概要とプログラム例
    10. Java-コンストラクター
    11. C++ オーバーロード (演算子と関数)