আপডেট

Saturday, June 6, 2015

অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এবং বাস্তব জীবন... ( পর্ব-০১)

জাভার কন্সেপ্ট ক্লিয়ার করার জন্যে তিনটি মূল বিষয় যেমনঃ
১। ইনক্যাপসুলেশন,
২। ইনহ্যারিটেন্স,
৩। পলিমরফিজম...



এই তিনটি বিষয় অত্যন্ত গুরুত্বপূর্ণ। এই তিনটি বিষয়ের উপর ধারনা ঠিক থাকলে জাভা জাভা করে সবার কাছে দৌড়াতে হবে না বা এই বই ঐ বই করে রাতের ঘুম হারাম করে চোখের নীচে কালিও ফেলতে হবে না। আমি আপাতত ইনক্যাপসুলেশন সম্পর্কে আজ বলবো। তবে যদি সম্ভব হয় তবে ইনহ্যারিটেন্স আর পলিমরফিজম সম্পর্কেও বলার চেষ্টা করবো। তো তাহলে শুরু করি?

আসলে ইনক্যাপসুলেশন অনেকটাই ক্যাপসুল জাতীয় ঔষুধ এর মত। ক্যাপসুল জাতীয় ঔষুধে যেমন ম্যাটেরিয়ালস গুলো ঠিকঠাকভাবে মিশিয়ে একটা প্লাস্টিক জাতীয় বস্তু দিয়ে আবদ্ধ করে দেওয়া হয়।


যদি আমরা চিত্রের দিকে খেয়াল করি তাহলে দেখবো অবজেক্ট বলা হয়েছে প্লাস্টিক জাতীয় জিনিষ, যেটি দিয়ে পুরো মেথোড আর প্রোপার্টি আবদ্ধ করে রাখা হয়েছে। আর ভেতরে যে লাভের বস্তুগুলো দেখা যাচ্ছে সেগুলো হল (প্রোপারটি বা ডাটা) এবং (মেথোড বা বিহেভিয়ার)। এগুলো সবগুলো মিলেই একটি ক্যাপসুল তৈরী হয় এবং ঠিক একইভাবে অবযেক্ট অরিয়েন্টেড প্রোগ্রামিং এর ক্ষেত্রে ইনক্যাপসুলেশন হয়।



এই ইনক্যাপসুলেশনের কিছু উপকারিতা তুলে ধরি, কারন উপকারিতা না থকলে মানুষ কেন এটা পরবে? তাই না?

১। ডাটাগুলোকে সিকিউর রাখাঃ যেমন কেউ যদি ইচ্ছা করে যে এটা দ্বারা প্রস্তুত কোন সফটওয়ার সে নিজের মত করে কাস্টমাইজ করে নিবে না এই সফটওয়ারের ডাটাগুলো সে নিজের করে নিয়ে নিবে। এটা সে পারবে না। শুধুমাত্র যিনি সফটওয়ার বানিয়েছেন তিনিই পারবেন।

২। অনেকবার ব্যবহার করার ক্ষমতাঃ এটা দ্বারা তৈরী সসফটওয়ার যতদিন ইচ্ছা ততদিন ব্যাবহার করা যায়। এবং এতে সফটওয়ার বা তার ভেতরকার কোন জিনিষ পরিবর্তন হয় না বা শেষ হয় না।



আরো অনেক সুবিধা আছে, আমি সব বের করে দিলাম না। আপনারা আছেন বের করবেন আর কি কি সুবিধা আছে। ভুল থাকলে কমেন্টসে জানাবেন। আর পরবর্তী পোস্ট ইনহ্যারিটেন্স নিয়ে খুব শিগ্রহী আসবো। সে পর্যন্ত ভাল থাকবেন সুস্থ থাকবেন। ধন্যবাদ। :)