Posts

Showing posts from April, 2017

কন্সট্রাক্টর সম্পর্কে ধারনা

Image
 কন্সট্রাক্টরঃ                     কন্সট্রাক্টর  মূলত একটি ফাংশন বা মেথড। মেথডের যেমন রিটার্ন টাইপ থাকে এক্ষেত্রে কন্সট্রাক্টরের কোন রিটার্ন টাইপ থাকে না । এমনকি void ও না।  কোন ক্লাসের মেম্বার বা ফিল্ড ভেরিয়েবল  গুলোর মান বসানোর জন্য  কন্সট্রাক্টর মেথডটি ব্যবহার করা হয়।  আমরা যখন কোন ক্লাসের অব্জেক্ট তৈরি করি তখন মূলত  কন্সট্রাক্টরকেই কল করে থাকি। যেহেতু  অন্যান্য  ফাংশন বা মেথডের মত কন্সট্রাক্টরও একটি ফাংশন তাহলে অনেকের কাছে মনে হতে পারে  কন্সট্রাক্টর ও মেথড একই কিনা। কিন্ত না  কন্সট্রাক্টর ও মেথড এক না। অন্যান্য ফাংশন এর সাথে এর পার্থক্য হচ্ছে কন্সট্রাক্টর এর নাম অবশ্যই তার ক্লাসের নামে হবে আর  কোন রিটার্ন টাইপ থাকবেনা। নিচের প্রোগ্রামটি লক্ষ করুন NB: উপরে Student নামে একটি ক্লাস আছে এবং সেই ক্লাসের একটা কন্সট্রাক্টর আছে। যেটাতে কোন প্যারামিটার নেই। লক্ষ করেন কন্সট্রাক্টরটির কোন রিটার্ন টাইপ ও নেই। কন্সট্রাক্টর   ওভারলোডিংঃ     ...

মেথড ওভারলোডিং এর খুঁটিনাটি

Image
মেথড ওভারলোডিং আজকে আমরা মেথড ওভারলোডিং নিয়ে আলোচনা করব। মেথড কি সেই বিষয়ে আগের পোস্ট এ বিস্তারিত লিখা আছে। যদি কেউ মিস করে থাকেন এখনি দেখে নেন। ওভারলোডিং বলতে বুঝায় কোন ক্লাস  এ একই নামে যদি একাদিক মেথড থাকে সেটাকে। অনেকের কাছে মনে হতে পারে কোন ক্লাস এ আবার একই নামে অনেক গুলো মেথড থাকতে পারে নাকি? হা  অবশ্যই থাকতে পারে। মেথড গুলো তাদের প্যারামিটার এর উপর ভিত্তি করে আলাদা করা যেতে পারে। প্যারামিটার গুলো তিন ভাগে আলাদা করতে পারি আমরা।    ১। মেথডগুলোর প্যারামিটারের ডাটা টাইপ আলাদা হতে পারে। যেমন- কোন মেথড                                 ইনটিজার ইনপুট নেয় আবার হয়তো ফ্লোটিং পয়েন্ট সংখ্যা ইনপুট নেয় বা স্ট্রিং         ইনপুট নেয়।     2। প্যারামিটার গুলোর সংখ্যার পার্থক্য হতে পারে। যেমন- কোন মেথড দুটি প্যারামিটার                          নেয় আবার কোনটি তিনটি বা চারটি নেয়। ...

জাভা মেথড নিয়ে কিছু কথা।

Image
জাভাতে মেথডঃ আমরা যখন সি প্রোগ্রামিং শিখেছি তখন মুলত ফাংশন নিয়ে কাজ করেছি। জাভাতে মেথড মুলত ফাংশন এর মতই কিন্ত সামান্য কিছু পার্থক্য রয়েছে। জাভাতে মেথডগুলো কোন ক্লাস এর সাথে সম্পর্কযুক্ত থাকে আর সি প্রোগ্রামিং এ ক্লাস এর কোন ধারানা নেই। আর বিশেষ কোন পার্থক্য নেই ফাংশন ও মেথড এর মধ্যে। যেকোনো মেথড এর অবশ্যই একটি রিটার্ন  টাইপ থাকতে হবে। কোন মেথড  যদি কোন কিছু রিটার্ন না করে তাহলে রিটার্ন  টাইপ void দিতে হয়। void একটি  কিওয়ার্ড। মেথড মূলত কোন  নির্দিষ্ট  এক বা একাদিক  কাজ করে থাকে। কোন ক্লাস এ এক বা একাদিক মেথড থাকতে পারে। যেটাকে বলে মেথড ওভারলোডিং।  মেথড ওভারলোডিং নিয়ে পরে কোন এক সময় আলোচনা করা যাবে। নিচে সাধারন একটা মেথড কেমন হয় তা দেখানো হল। NB:  উপরের প্রোগ্রামে Car নামে একটি ক্লাস আছে। এই ক্লাস এ  performAddtion নামে একটি মেথড আছে ।  এক্ষেত্রে public হচ্ছে একটা modifiyer। এরকম আরও  modifiyer আছে যেমন protected, private।  public  বলতে বুঝায় এই Car নামক ক্লাস এর মেথডকে যেকোনো জায়গা থেকে ব্যবহার ক...