C#のオーバーロードとは何ですか?
C#は、静的ポリモーフィズムを実装するための2つの手法を提供します-
- 関数のオーバーロード
- 演算子のオーバーロード
関数のオーバーロード
名前は同じでパラメータが異なる2つまたは3つ以上のメソッドは、C#で関数のオーバーロードと呼ばれるものです。
C#での関数のオーバーロードは、引数の数と引数のデータ型を変更することで実行できます。
数値の乗算を出力する関数があるとすると、オーバーロードされたメソッドの名前は同じですが、引数の数が異なります-
public static int mulDisplay(int one, int two) { } public static int mulDisplay(int one, int two, int three) { } public static int mulDisplay(int one, int two, int three, int four) { }
以下は、関数のオーバーロードを実装する方法を示す例です-
例
using System; public class Demo { public static int mulDisplay(int one, int two) { return one * two; } public static int mulDisplay(int one, int two, int three) { return one * two * three; } public static int mulDisplay(int one, int two, int three, int four) { return one * two * three * four; } } public class Program { public static void Main() { Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15)); Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20)); Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7)); } }
出力
Multiplication of two numbers: 150 Multiplication of three numbers: 2080 Multiplication of four numbers: 1470
演算子のオーバーロード
オーバーロードされた演算子は、キーワード演算子の後に定義されている演算子の記号が続く特別な名前を持つ関数です。
以下は、オーバーロードできる演算子とオーバーロードできない演算子を示しています-
Sr.No | |
---|---|
1 | +、-、!、〜、++、- これらの単項演算子は1つのオペランドを取り、オーバーロードすることができます。 |
2 | +、-、*、/、% これらの二項演算子は1つのオペランドを取り、オーバーロードすることができます。 |
3 | ==、!=、<、>、<=、> = 比較演算子はオーバーロードされる可能性があります。 |
4 | &&、|| 条件付き論理演算子を直接オーバーロードすることはできません。 |
5 | + =、-=、* =、/ =、%= 代入演算子はオーバーロードできません。 |
6 | =、。、?:、-<、new、is、sizeof、typeof これらの演算子はオーバーロードできません |
-
C#での列挙とは何ですか?
列挙型は、年、製品、月、季節などの名前付き定数のセットを格納する列挙型です。 列挙型定数のデフォルト値は0から始まり、増分します。定数のセットが固定されており、簡単にトラバースできます。 例を見てみましょう。 このように列挙型を設定しました- public enum Vehicle { Car, Bus, Truck } 以下は完全な例です- 例 using System; public class Demo { public enum Vehicle { Car, Bus, Truck } public static void
-
Javaでのメソッドのオーバーロード
メソッドのオーバーロードは、静的ポリモーフィズムの一種です。メソッドのオーバーロードでは、同じ名前で異なるパラメーターを使用して複数のメソッドを定義できます。次のサンプルプログラムについて考えてみます。 例 public class Tester { public static void main(String args[]) { Tester tester = new Tester(); System.out.println(tester.add(1, 2)); &nb