C# স্ট্যাটিক পলিমরফিজম -
বাস্তবায়নের জন্য দুটি কৌশল প্রদান করে- ফাংশন ওভারলোডিং
- অপারেটর ওভারলোডিং
ফাংশন ওভারলোডিং
দুই বা দুইটির বেশি পদ্ধতির একই নাম কিন্তু ভিন্ন প্যারামিটার যাকে আমরা C# এ ফাংশন ওভারলোডিং বলি।
C# এ ফাংশন ওভারলোডিং আর্গুমেন্টের সংখ্যা এবং আর্গুমেন্টের ডেটা টাইপ পরিবর্তন করে সঞ্চালিত হতে পারে।
ধরা যাক আপনার কাছে একটি ফাংশন আছে যা সংখ্যার গুণকে প্রিন্ট করে, তাহলে আমাদের ওভারলোড করা পদ্ধতির নাম একই হবে কিন্তু আর্গুমেন্টের সংখ্যা ভিন্ন হবে −
public static int mulDisplay(int one, int two) { } public static int mulDisplay(int one, int two, int three) { } public static int mulDisplay(int one, int two, int three, int four) { }
ফাংশন ওভারলোডিং −
কিভাবে প্রয়োগ করতে হয় তা দেখানোর একটি উদাহরণ নিচে দেওয়া হলউদাহরণ
using System; public class Demo { public static int mulDisplay(int one, int two) { return one * two; } public static int mulDisplay(int one, int two, int three) { return one * two * three; } public static int mulDisplay(int one, int two, int three, int four) { return one * two * three * four; } } public class Program { public static void Main() { Console.WriteLine("Multiplication of two numbers: "+Demo.mulDisplay(10, 15)); Console.WriteLine("Multiplication of three numbers: "+Demo.mulDisplay(8, 13, 20)); Console.WriteLine("Multiplication of four numbers: "+Demo.mulDisplay(3, 7, 10, 7)); } }
আউটপুট
Multiplication of two numbers: 150 Multiplication of three numbers: 2080 Multiplication of four numbers: 1470
অপারেটর ওভারলোডিং
ওভারলোডেড অপারেটর হল বিশেষ নাম সহ ফাংশন যা কীওয়ার্ড অপারেটর এবং অপারেটরের সংজ্ঞায়িত চিহ্ন দ্বারা অনুসরণ করা হয়।
নিম্নলিখিতগুলি দেখায় কোন অপারেটরগুলিকে ওভারলোড করা যেতে পারে এবং কোনটি আপনি ওভারলোড করতে পারবেন না −
৷Sr. No | অপারেটর এবং বর্ণনা |
---|---|
1 | +, -, !, ~, ++, -- এই ইউনারি অপারেটরগুলি একটি অপারেন্ড নেয় এবং ওভারলোড হতে পারে। |
2 | +, -, *, /, % এই বাইনারি অপারেটরগুলি একটি অপারেন্ড নেয় এবং ওভারলোড হতে পারে। |
3 | ==, !=, <,>, <=,>= তুলনা অপারেটর ওভারলোড করা যেতে পারে. |
4 | &&, || শর্তযুক্ত লজিক্যাল অপারেটর সরাসরি ওভারলোড করা যাবে না। |
5 | +=, -=, *=, /=, %= অ্যাসাইনমেন্ট অপারেটর ওভারলোড করা যাবে না. |
6 | =, ., ?:, -<, new, is, sizeof, typeof এই অপারেটর ওভারলোড করা যাবে না |