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

C#での関数のオーバーライドとメソッドの非表示の違いは何ですか?


オーバーライド

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

オーバーライドを実装する抽象クラスの例を見てみましょう-

using System;

namespace PolymorphismApplication {
   abstract class Shape {
      public abstract int area();
   }

   class Rectangle: Shape {
      private int length;
      private int width;

      public Rectangle( int a = 0, int b = 0) {
         length = a;
         width = b;
      }

      public override int area () {
         Console.WriteLine("Rectangle class area :");
         return (width * length);
      }
   }

   class RectangleTester {
      static void Main(string[] args) {
         Rectangle r = new Rectangle(10, 7);
         double a = r.area();
         Console.WriteLine("Area: {0}",a);
         Console.ReadKey();
      }
   }
}

メソッドの非表示(シャドウイング)

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

新しいキーワードを使用してシャドウイングを実行します。

例を見てみましょう-

using System;
using System.Collections.Generic;

class Demo {
   public class Parent {
      public string Display() {
         return "Parent Class!";
      }
   }

   public class Child : Parent {
      public new string Display() {
         return "Child Class!";
      }
   }

   static void Main(String[] args) {
      Child child = new Child();
      Console.WriteLine(child.Display());
   }
}

  1. メソッドと関数の違いは何ですか?

    メソッドと関数は同じですが、用語が異なります。メソッドは、オブジェクト指向プログラミングのプロシージャまたは関数です。 関数は、プログラムのどこからでも呼び出すことができる再利用可能なコードのグループです。これにより、同じコードを何度も書く必要がなくなります。プログラマーがモジュラーコードを書くのに役立ちます。 JavaScript関数の構文は次のとおりです。 <script type="text/javascript">    <!--       function functionname(para

  2. JavaScriptの関数とメソッドの違いは何ですか?

    JavaScriptでも関数とメソッドは同じですが、メソッドはオブジェクトのプロパティである関数です。 以下はJavaScriptの関数の例です- function functionname(param1, param2){    // code } 例 メソッドはオブジェクトに関連付けられた関数です。以下はJavaScriptのメソッドの例です- <html>    <head>       <script>          var e