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

C#でのオーバーライドとシャドウイングの違いは何ですか?


以下は、オーバーライドとシャドウイングの違いです-

  • シャドウイングはメソッド全体を再定義しますが、オーバーライドはメソッドの実装のみを再定義します。

  • オーバーライドでは、子クラスのオブジェクトオーバーライドメソッドを使用して基本クラスにアクセスできます。シャドウイングでは、chaildクラスのメソッドにアクセスできません。

  • シャドウイングは、メソッドの非表示とも呼ばれます。親クラスのメソッドは、シャドウイングでoverrideキーワードを使用せずに、子クラスで使用できます。子クラスには、同じ関数の独自のバージョンがあります。

  • オーバーライドでは、サブクラスタイプに固有の動作を定義できます。つまり、サブクラスはその要件に基づいて親クラスのメソッドを実装できます。


  1. C#のクラスとオブジェクトの違いは何ですか?

    クラスを定義するときは、データ型の青写真を定義します。 オブジェクトはクラスのインスタンスです。クラスを構成するメソッドと変数は、クラスのメンバーと呼ばれます。 クラスメンバーにアクセスするには、オブジェクト名の後にドット(。)演算子を使用します。ドット演算子は、オブジェクトの名前をメンバーの名前にリンクします。たとえば、 Box Box1 = new Box(); 上に、Box1がオブジェクトであることがわかります。メンバーにアクセスするために使用します- Box1.height = 7.0; メンバー関数を呼び出すためにも使用できます- Box1.getVolume(); 以下は

  2. Pythonセットの演算子とメソッドの違いは何ですか?

    Pythonのsetオブジェクトは、組み込みのsetクラスを表します。和集合、積集合、差、対称差などのさまざまな集合演算は、対応するメソッドを呼び出すか、演算子を使用して実行できます。 メソッドによる結合 >>> s1={1,2,3,4,5} >>> s2={4,5,6,7,8} >>> s1.union(s2) {1, 2, 3, 4, 5, 6, 7, 8} >>> s2.union(s1)  {1, 2, 3, 4, 5, 6, 7, 8} ユニオンバイ|オペレーター >>> s1={1,