Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ความแตกต่างใน C # คืออะไร?


ความแตกต่างอาจเป็นแบบคงที่หรือแบบไดนามิก ในความหลากหลายแบบคงที่ การตอบสนองต่อฟังก์ชันจะถูกกำหนด ณ เวลารวบรวม ในความหลากหลายแบบไดนามิก จะตัดสินใจที่รันไทม์

ในความหลากหลายแบบคงที่ การตอบสนองต่อฟังก์ชันจะถูกกำหนด ณ เวลารวบรวม ในพหุสัณฐานแบบไดนามิก จะตัดสินใจที่รันไทม์ ความหลากหลายแบบไดนามิกคือสิ่งที่เราเรียกว่าการรวมสาย

Compile Time Polymorphism หรือ Static Binding

กลไกของการเชื่อมโยงฟังก์ชันกับอ็อบเจ็กต์ระหว่างเวลาคอมไพล์เรียกว่าการโยงล่วงหน้า เรียกอีกอย่างว่าการผูกแบบคงที่

รันไทม์ Polymorphism หรือ Dynamic Binding

ความแตกต่างระหว่างรันไทม์มีเมธอดที่แทนที่ที่เรียกว่าการรวมไดนามิกหรือการโยงช้า

ให้เราดูตัวอย่างของการรวบรวมเวลาที่หลากหลายซึ่งใช้วิธีโอเวอร์โหลด -

ตัวอย่าง

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++