Constant ভেরিয়েবল
const
প্রায়ই প্রোগ্রামে এমন একটি পরিস্থিতির মুখোমুখি হতে হয় যেখানে আমরা চাই না যে কেউ আমাদের ভেরিয়েবলের মান পরিবর্তন করতে পারে। আমরা নিশ্চিত করতে চাই যে ভেরিয়েবলের মান ফিক্সড । যদি কেউ পরিবর্ত করার চেষ্টা করে তবে এটি একটি ত্রুটি দেখাবে।এ ধরেনের কাজের জন্য ডার্টের const কীওয়ার্ড আছে।
// Constant variable const int studentRegistrationNo = 17101010;
এটি আমার বিশ্ববিদ্যালয়ের রেজিস্ট্রেশন নম্বর এবং কর্তৃপক্ষ আমাকে এই নম্বর দিয়ে শনাক্ত করে। এবং তারা এটা ঠিক করতে চায় যেন কেউ এটি পরিবর্তন করতে পারে না। তাই তারা
constকীওয়ার্ড দিয়ে ভেরিয়েবল তৈরি করেছে। আপনি যদি এটি পরিবর্তন করার চেষ্টা করেন তবে আপনি একটি কম্পাইল-টাইম এরর পাবেন এবং প্রোগ্রামটি চলবে না। সুতরাং এই ধারণাটি কম্পাইল-টাইম এরর নামেও পরিচিত, যেহেতু আপনি কম্পাইল করার আগে মান নির্ধারণ করছেন এবং এটি চিরতরে পরিবর্তন হবে না।
final
আমাদের ভেরিয়েবলকে ফিক্সড করার আরেকটি উপায় আছে। এটি একটি ধ্রুবক মত কাজ করবে কিন্তু আরো নমনীয়তা সঙ্গে । const কীওয়ার্ড দিয়ে আপনাকে সাথে সাথে সেই ভেরিয়েবলের মান নির্ধারণ করতে হবে। কিন্তু ফাইনালে পরে এটি বরাদ্দ করার জন্য নমনীয়তা রয়েছে। কিন্তু যখন আপনি একটি ফাইনাল ভেরিয়েবলের জন্য একটি মান নির্ধারণ করেন তখন এটি স্থির হয়। উদাহরনটা এমন হবে যে, আপনি ব্যবহারকারীর কাছ থেকে একটি মান আনতে চান যা ফিক্সড হবে। উদাহরণ-
// final final String userBloodGroup; // here we are not assigning any value userBloodGroup = 'O+'; // let's assume that user assigned it from console
ইউজার ব্লাডগ্রুপ এই প্রোগ্রাম থেকে আর পরিবর্তন করা হবে না। সুতরাং আপনি এই final কীওয়ার্ড থেকে এই নমনীয়তা পাচ্ছেন যা রানটাইম ধ্রুবক দ্বারাও বলা হয়।