C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#の静的バインディングとは何ですか?


コンパイル時の関数とオブジェクトのリンクは、静的バインディングと呼ばれます。 C#は、静的ポリモーフィズムを実装するための2つの手法を提供します。関数のオーバーロードと演算子のオーバーロードです。

関数のオーバーロードでは、同じスコープ内の同じ関数名に対して複数の定義を持つことができます。

void print(int i) {
   Console.WriteLine("Printing int: {0}", i );
}

void print(double f) {
   Console.WriteLine("Printing float: {0}" , f);
}

オーバーロードされた演算子は、特別な名前を持つ関数です。キーワード演算子ISの後には、defineDである演算子の記号が続きます。

public static Box operator+ (Box b, Box c) {
   Box box = new Box();
   box.length = b.length + c.length;
   box.breadth = b.breadth + c.breadth;
   box.height = b.height + c.height;
}

  1. C#クラスの静的メンバーとは何ですか?

    staticキーワードを使用して、クラスメンバーを静的として定義できます。クラスのメンバーを静的として宣言すると、クラスのオブジェクトがいくつ作成されても、静的メンバーのコピーは1つだけになります。 キーワードstaticは、クラスにメンバーのインスタンスが1つだけ存在することを意味します。静的変数は、インスタンスを作成せずにクラスを呼び出すことで値を取得できるため、定数の定義に使用されます。静的変数は、メンバー関数またはクラス定義の外部で初期化できます。クラス定義内で静的変数を初期化することもできます。 以下は例です- 例 using System; namespace StaticV

  2. Pythonのラムダバインディングとは何ですか?

    プログラムまたは関数ステートメントが実行されると、仮パラメーターの現在の値が(スタックに)保存され、ステートメントのスコープ内で、呼び出しで行われた実際の引数の値にバインドされます。ステートメントが終了すると、これらの仮引数の元の値が復元されます。このプロトコルは完全に再帰的です。ステートメントの本文内で、正式なパラメーターが新しい値に再度バインドされるようにする何かが行われた場合、ラムダバインドスキームは、これがすべて整然と行われることを保証します。 xのバインディングは1つだけです。x=5を実行すると、既存のバインディングの値が変更されるだけです。そのため、デフォルトのパラメーターは、ラ