কম্পিউটার টিউটোরিয়াল

C#-এ কম্পাইল টাইম পলিমরফিজম কী?

পলিমরফিজম হতে পারে স্ট্যাটিক বা ডাইনামিক। স্ট্যাটিক পলিমরফিজমে, একটি ফাংশনের রেসপন্স কম্পাইল টাইমে নির্ধারিত হয়। ডাইনামিক পলিমরফিজমে, এটি রান-টাইমে নির্ধারিত হয়।

কম্পাইল টাইমে একটি ফাংশনকে একটি অবজেক্টের সাথে লিংক করাকে আর্লি বাইন্ডিং বলে। এটিকে স্ট্যাটিক বাইন্ডিংও বলা হয়। C# স্ট্যাটিক পলিমরফিজম ইমপ্লিমেন্ট করার জন্য দুটি টেকনিক দেয়: ফাংশন ওভারলোডিং এবং অপারেটর ওভারলোডিং।

ফাংশন ওভারলোডিং-এ আপনি একই স্কোপে একই ফাংশন নামের একাধিক ডেফিনিশন রাখতে পারেন। ফাংশনের ডেফিনিশন একে অপরের থেকে আর্গুমেন্ট লিস্টের টাইপ এবং/অথবা সংখ্যা দিয়ে ভিন্ন হতে হবে।

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();
            // print কল করে ইন্টিজার প্রিন্ট
            p.print(5);
            // print কল করে ফ্লোট প্রিন্ট
            p.print(500.263);
            // print কল করে স্ট্রিং প্রিন্ট
            p.print("Hello C++");
            Console.ReadKey();
        }
    }
}

আউটপুট

Printing int: 5
Printing float: 500.263
Printing string: Hello C++
  1. C#-এ আর্লি বাইন্ডিং (Early Binding) কী?

  2. C#-এ রান টাইম পলিমরফিজম (Run Time Polymorphism) কী?

  3. C#-এ ডাইনামিক পলিমরফিজম (Dynamic Polymorphism) কী?

  4. পাইথনে print() ফাংশন কী এবং কীভাবে কাজ করে?