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

C# メソッドのオーバーロード

C# メソッドのオーバーロード

この記事では、例を使用して C# でのメソッドのオーバーロードについて学習します。

C# では、名前は同じでもパラメーターの数、型、および順序が異なる複数のメソッドがクラスに存在する場合があります。これは、メソッドのオーバーロードと呼ばれます。例:

void display() { ... }
void display(int a) { ... }
float display(double a) { ... }
float display(int a, float b) { ... }

ここで、display() メソッドがオーバーロードされています。これらのメソッドは同じ名前ですが、異なる引数を受け入れます。

注意 :上記のメソッドの戻り値の型は同じではありません。これは、メソッドのオーバーロードが戻り値の型に関連付けられていないためです。オーバーロードされたメソッドは、同じまたは異なる戻り値の型を持つことができますが、異なるパラメーターを持つ必要があります。


メソッドのオーバーロードは次の方法で実行できます:

1.パラメータの数を変更する

メソッド内のパラメーターの数が異なる場合は、メソッドをオーバーロードできます。

void display(int a) {
  ...
} 
...
void display(int a, int b) {
  ...
} 

ここでは、同じ名前のクラスに 2 つのメソッドがあります - display() .メソッド内のパラメーターの数が異なるため、同じ名前のメソッドが複数存在する可能性があります。たとえば、

using System;

namespace MethodOverload {

  class Program {  

    // method with one parameter
    void display(int a) {
      Console.WriteLine("Arguments: " + a);
    }
 
    // method with two parameters
    void display(int a, int b) {
      Console.WriteLine("Arguments: " + a + " and " + b);
    } 
    static void Main(string[] args) {

      Program p1 = new Program();
      p1.display(100);
      p1.display(100, 200);
      Console.ReadLine();
    }
  }
}

出力

Arguments: 100
Arguments: 100 and 200

上記の例では、display() をオーバーロードしています。 メソッド:

メソッド呼び出し中に渡された引数の数に基づいて、対応するメソッドが呼び出されます。


2.パラメータのデータ型を変更する

void display(int a) {
  ...
} 
...
void display(string b) {
  ...
} 

ここには、2 つのメソッドがあります - display() 同じ数のパラメーターを使用します。複数の display() を持つことができます メソッド内のパラメーターのデータ型が異なるため、同じ数のパラメーターを持つメソッド。たとえば、

using System;

namespace MethodOverload {

  class Program {  

    // method with int parameter
    void display(int a) {
      Console.WriteLine("int type: " + a);
    } 

    // method with string parameter
    void display(string b) {
      Console.WriteLine("string type: " + b);
    } 
    static void Main(string[] args) {

      Program p1 = new Program();
      p1.display(100);
      p1.display("Programiz");
      Console.ReadLine();
    }
  }
}

出力

int type: 100
string type: Programiz

上記のプログラムでは、display() をオーバーロードしています。 さまざまなタイプのパラメーターを持つメソッド。

メソッド呼び出し中に渡された引数の型に基づいて、対応するメソッドが呼び出されます。


3.パラメータの順序を変更する

void display(int a, string b) {
  ...
} 
...
void display(string b, int a) {
  ...
}

ここには、2 つのメソッドがあります - display() .複数の display() を持つことができます メソッド内のパラメーターのデータ型の順序が異なるため、パラメーターの数と型が同じメソッド。たとえば、

using System;

namespace MethodOverload {

  class Program {  

    // method with int and string parameters 
    void display(int a, string b) {
      Console.WriteLine("int: " + a);
      Console.WriteLine("string: " + b);
    } 

    // method with string andint parameter
    void display(string b, int a) {
      Console.WriteLine("string: " + b);
      Console.WriteLine("int: " + a);
    } 
    static void Main(string[] args) {

      Program p1 = new Program();
      p1.display(100, "Programming");
      p1.display("Programiz", 400);
      Console.ReadLine();
    }
  }
}

出力

int: 100
string: Programming
string: Programiz
int: 400

上記のプログラムでは、display() をオーバーロードしています。 パラメータの順序が異なるメソッド。

メソッド呼び出し中に渡された引数の順序に基づいて、対応するメソッドが呼び出されます。


C言語

  1. C# の抽象クラスとメソッド
  2. C# 部分クラスと部分メソッド
  3. C# の封印されたクラスとメソッド
  4. C# コンストラクターのオーバーロード
  5. Python 演算子のオーバーロード
  6. Verilog タスク
  7. Verilog 表示タスク
  8. C# - メソッド
  9. C# - 演算子のオーバーロード
  10. C# - 匿名メソッド
  11. EPAメソッド21とは何ですか?