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

ความหลากหลายในการคอมไพล์เวลาใน C # คืออะไร?


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

การเชื่อมโยงฟังก์ชันกับอ็อบเจ็กต์ระหว่างเวลาคอมไพล์เรียกว่าการโยงล่วงหน้า เรียกอีกอย่างว่าการผูกแบบสถิต C# มีเทคนิคสองวิธีในการใช้ Static Polymorphism คือ ฟังก์ชันโอเวอร์โหลด และ โอเวอร์โหลดโอเปอเรเตอร์

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

ต่อไปนี้คือตัวอย่างที่แสดงวิธีการใช้ฟังก์ชันโอเวอร์โหลดใน 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++