ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ এর খুবই শক্তিশালী ফিচার Generic কি? কেন? কিভাবে?





আজকে আলোচনা করব ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ এর খুবই শক্তিশালী ফিচার Generic নিয়ে । Generic মূলত ডাটা Collection এর টাইপ সেফটি নির্ধারন করে। কিন্ত যেনে রাখা ভাল, ডাটা টাইপকে ডার্ট ল্যাঙ্গুয়েজে অপশনাল রাখা হয়েছে। কোন ডাটা কালেকশনকে Generic করতে হলে আমাদের < > নেটেশন মার্ক ব্যবহার করতে হবে ৷ আর এই নোটেশনের মধ্যে যখন ডাটার টাইপ কি হবে অথাৎ ( int, double, string ) তা নির্দারন করে দেওয়া হয় তখন আমরা ঐ ডাটার কালেকশনকে জেনেরিক বলব। জেনে রাখা ভাল, ডার্টে লিষ্ট অন্যান্য ল্যাঙ্গুয়েজ এ অ্যারে নিয়ে কাজ করতে সবচেয়ে বেশি ডাটাকে Genericকরার দরকার পড়ে। তাছাড়া আমরা Map, Set, HashMap, HashSet তে ব্যাবহার করতে পারি। আসুন তাহলে এবার লিষ্ট দিয়ে একটি উদাহরন দেখি -



উপরের প্রোগ্রামটিতে লিস্ট এর মধ্যে ডাটা টাইপ হিসাবে স্ট্রিং কে Declare করা হয়েছে । তাই ডাটা হিসাবে শুধুমাত্র স্ট্রিং নিয়েছি। আমরা চাইলেও লিস্টের ভিতর স্ট্রিং ব্যতিত অন্য কোন ডাটা নিতে পারব না। কারন List এর ডাটা টাইপ ফিক্সড করে দিয়েছি । চলুন উদাহরন দিয়ে বিষয়টা পরিষ্কার করি



পূর্বের প্রোগ্রামটিতে এবার আমরা এ্যাড মেথডের "Hello" স্ট্রিং এর স্থানে ইন্টিজার ভেলু 1 দিয়েছি। যেহেতু লিস্টটি ভেলু হিসাবে স্ট্রিং সাপোর্ট করে সেহেতু কম্পাইলার এটিকে এরর হিসাবে দেখাচ্ছে-
 



অথাৎ কম্পাইলার আমাদের বলে দিচ্ছে যে, আমরা int টাইপের ভেলু (1) add করেছি কিন্তু লিস্টে ডাটা টাইপ হিসবে স্ট্রিং Declare করা। এভাবে আমারা ডাটা টাইপ নিদৃষ্ট করে Map, Set, HashMap, HashSet কে Generic করতে পারি । এখন আসুন কখন আমরা জেনেরিক ব্যাবহার করব - এক কথায় যদি উত্তর দেই - যদি প্রোগ্রামে এমন কোন কেস দরকার হয়, যেখানে বিভিন্ন ধরনের ডাটা রাখা লাগতে পারে সেসব কেস ছাড়া আমরা সবসময় সফটওয়ার বানানোর সময় জেনেরিক ব্যবহার করব।

*********** Happy Programming ***********

https://mehedihasaninfo.com/


Comments

Post a Comment

Popular posts from this blog

Business Benefits of Using Flutter Technology

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং বেসিক কনসেপ্ট

ডার্ট প্রোগ্রামিংয়ের খুবই গুরুত্বপূর্ণ ফিচার Async & Await কি? কেন?

ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ দিয়ে অপ্রত্যাশিত ইভেন্ট বা ঘটনা কিভাবে হ্যান্ডেল করবেন?