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

C#のコンパイル時ポリモーフィズムとは何ですか?


ポリモーフィズムは静的または動的にすることができます。静的ポリモーフィズムでは、関数への応答はコンパイル時に決定されます。動的ポリモーフィズムでは、実行時に決定されます。

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

関数のオーバーロードでは、同じスコープ内の同じ関数名に対して複数の定義を持つことができます。関数の定義は、引数リスト内の引数のタイプや数によって互いに異なる必要があります。

以下は、C#で関数のオーバーロードを実装する方法を示す例です-

using System;

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

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

      void print(string s) {
         Console.WriteLine("Printing string: {0}", s);
      }

      static void Main(string[] args) {
         Printdata p = new Printdata();

         // Call print to print integer
         p.print(5);

         // Call print to print float
         p.print(500.263);

         // Call print to print string
         p.print("Hello C++");
         Console.ReadKey();
      }
   }
}

出力

Printing int: 5
Printing float: 500.263
Printing string: Hello C++

  1. C#の動的ポリモーフィズムとは何ですか?

    ポリモーフィズムは静的または動的にすることができます。静的ポリモーフィズムでは、関数への応答はコンパイル時に決定されます。動的ポリモーフィズムでは、実行時に決定されます。 動的ポリモーフィズムは、抽象クラスと仮想関数によって実装されます。以下は、動的ポリモーフィズムの例を示す例です- 例 using System; namespace PolymorphismApplication {    class Shape {       protected int width, height;       publ

  2. print()関数はPythonで何をしますか?

    Python 3では、print()は組み込み関数(オブジェクト)であり、画面に指定した引数を出力するために使用されます。たとえば、 >>> print("Hello!") Hello! >>> print(5) 5 これ以前は、印刷はステートメントでした。次のように使用できます: >>> print "Hello!" Hello! >>> print 5 Hello 各式を順番に評価し、結果のオブジェクトを標準出力に書き込みます。オブジェクトが文字列でない場合は、最初に文字列変