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

C#での共変性と反変性


クラスを効果的に処理するには、共分散と逆分散の概念を使用します。

次のことをクラスとして考えてみましょう。 1つはクラス2の基本クラスであり、2つは3つの基本クラスです。

class One { 
}
class Two: One {
}
class Three : Two { 
}

基本クラスは派生クラスを保持できますが、その逆はできません。共分散を使用すると、基本型が期待される場所に派生型を渡すことができます。共分散は、C#の配列、インターフェイス、デリゲートなどで使用できます。

対比分散はパラメーター用です。基本クラスのパラメーターを持つメソッドは、共変性を持つ派生クラスのパラメーターを期待するデリゲートに割り当てることができます。


  1. Javaのクラス変数と静的変数

    クラス変数は静的変数とも呼ばれ、キーワード「static」を使用してメソッドの外部で宣言されます。 静的変数は、クラスのすべてのインスタンスに共通する変数です。変数の単一のコピーがすべてのオブジェクト間で共有されます。 例 public class Demo{    static int my_count=2;    public void increment(){       my_count++;    }    public static void main(String ar

  2. Python例外基本クラス

    他の高級言語と同様に、Pythonにもいくつかの例外があります。問題が発生すると、例外が発生します。 ZeroDivisionError、AssertionErrorなどのさまざまな種類の例外があります など。すべての例外クラスはBaseExceptionクラスから派生しています。 コードは組み込みの例外を実行することも、コードでこれらの例外を発生させることもできます。ユーザーは、例外から独自の例外を派生させることができます クラス、または例外の他の子クラスから クラス。 BaseExceptionは、他のすべての例外の基本クラスです。ユーザー定義クラスをこのクラスから直接派生させること