Monday, May 13, 2024

প্যারামেট্রিক পলিমরফিজম

Parametric Polymorphism: এখানে function কে এমন abstract ভাবে লেখা হয় যেন function টি বিভিন্ন value কে argument হিসেবে নিতে পারে তাদের data type এর উপর নির্ভর না করে। উদাহরণে C++ এ template এর মাধ্যমে add() function টিতে যেকোন data type কে argument হিসেবে নেবার সুযোগ করে দেয়া হয়েছে। add() প্রথমে দু'টি integer কে argument হিসেবে নিয়েছে, পরে দু'টি string কে এবং শেষে একটি string ও একটি integer কে argument হিসেবে নিয়েছে।

উদাহরণ(C++):
#include ‹iostream›
#include ‹string›
class Demo{
public:
Demo(){}
template ‹class T›
T add(T a,T c){
return a+c;
}
};
int main()
{
Demo m;
int w=5,y=7;
//add(int,int)
std::cout «m.add(5,7);
std::string s="Hello, ",z="there!";
//add(string,string)
std::cout«"\n"«m.add(s,z);
//add(string, int)
std::cout«"\n"«m.add("May",13);
return 0;
}

JavaScript উদাহরণটিতে add() এ কোন template বা data type ব্যবহার করা হয়নি কারণ JavaScript একটি type safe language অর্থাৎ compile time এ এটি data type check না করে একেবারে run time এ check করছে। যার কারণে run time এ যাই add() এ pass করা হচ্ছে তাই সে screen এ দেখাচ্ছে।

উদাহরণ(JavaScript):
class Demo{
constructor(){}
add(a,c){
return a+c;
}
}
var m=new Demo();
document.write(m.add(5,7));
document.write(m.add("hi","there!"));
document.write(m.add("May", 13));

কৃতজ্ঞতাঃ এই লেখা তৈরি করতে দরকারি তথ্য নেয়া হয়েছে Wikipedia, internet ও আমার তৈরি করা নানা program থেকে।
মন্তব্য ও যোগাযোগঃ mrh4478@gmail.com

No comments:

Post a Comment