জাভা কনস্ট্রাক্টর টিউটোরিয়াল

Java Constructor Tutorial



কন্সট্রাকটর টুল একটি খুব গুরুত্বপূর্ণ এবং দরকারী পদ্ধতি যা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর জন্য ব্যবহৃত হয়। কোন শ্রেণীর জন্য কনস্ট্রাক্টর ঘোষণা করা বাধ্যতামূলক নয়, এবং এই টুলটি মূলত বস্তু তৈরির সময় ক্লাসের বস্তুকে আরম্ভ করার জন্য ব্যবহৃত হয়। কন্সট্রাকটর অন্যান্য স্বাভাবিক পদ্ধতির মত কাজ করে না। বরং, কোনো বস্তু ঘোষিত হলে কনস্ট্রাক্টর টুলকে স্বয়ংক্রিয়ভাবে বলা হয় এবং এটি বস্তুর জন্য মেমরির অবস্থান বরাদ্দ করে। এই টিউটোরিয়ালটি আপনাকে দেখাবে কিভাবে জাভা ক্লাস প্রোগ্রামিং-এ বিভিন্ন ধরনের ব্যবহারকারী-নির্ধারিত কনস্ট্রাক্টর প্রয়োগ ও ব্যবহার করা যায়।

কনস্ট্রাক্টরের বৈশিষ্ট্য

  1. কনস্ট্রাক্টরের নাম অবশ্যই ক্লাসের নামের মতো হতে হবে।
  2. রিটার্ন টাইপ অকার্যকর।
  3. নির্মাতা স্থির, বিমূর্ত এবং চূড়ান্ত হতে পারে না।

কনস্ট্রাক্টরের প্রকারভেদ







  1. ডিফল্ট
  2. প্যারামিটার-কম
  3. প্যারামিটারাইজড

1. ডিফল্ট কনস্ট্রাক্টর

জাভা কম্পাইলার দ্বারা ডিফল্ট কনস্ট্রাক্টর তৈরি করা হয় যখন কোডার ক্লাসের জন্য কোন কনস্ট্রাক্টর ঘোষণা করে না এবং এই কনস্ট্রাক্টরটিতে কোন যুক্তি থাকে না। জাভা ফাইলে ডিফল্ট কনস্ট্রাক্টরের জন্য কোন কোড থাকে না। ডিফল্ট কনস্ট্রাক্টর কোড জাভা কোড সংকলনের সময় তৈরি করা হয় এবং এ সংরক্ষণ করা হয় ক্লাস ফাইল



2. প্যারামিটার-কম কনস্ট্রাকটর

যখন কোন কন্সট্রাকটর কোন প্যারামিটার বা আর্গুমেন্ট ছাড়াই ঘোষিত হয়, তখন তাকে প্যারামিটার-কম কনস্ট্রাক্টর বলা হয়। একটি প্যারামিটার-কম কনস্ট্রাক্টর একটি ডিফল্ট কনস্ট্রাক্টরের মত কাজ করে এবং এই কনস্ট্রাক্টর স্টেটমেন্ট ধারণ করতে পারে, অথবা এটি খালি হতে পারে।



3. প্যারামিটারাইজড কনস্ট্রাকটর

যখন কোন কনস্ট্রাক্টর এক বা একাধিক প্যারামিটার দিয়ে ঘোষিত হয়, তখন তাকে প্যারামিটারাইজড কন্সট্রাকটর বলা হয়। অবজেক্ট তৈরির সময় কনস্ট্রাক্টরের প্যারামিটার মান পাস করা হয়।





উদাহরণ 1: একটি প্যারামিটার-কম কনস্ট্রাক্টর তৈরি করা

নিচের কোডটি দেখায় কিভাবে একটি প্যারামিটারবিহীন কনস্ট্রাকটর ব্যবহার করতে হয়। এটি আগে উল্লেখ করা হয়েছিল যে কনস্ট্রাক্টর পদ্ধতির নাম ক্লাসের নামের মতো হবে। এখানে, ক্লাসের নাম হল ' কন 1 , 'তাই প্যারামিটার-কম কনস্ট্রাক্টরের নাম হল' কন 1 () । 'দুই শ্রেণীর ভেরিয়েবল,' নাম ' এবং ' বয়স , 'এখানে ঘোষণা করা হয়েছে। বস্তুর পরিবর্তনশীল ঘোষণার সময় ' obj , 'কন্সট্রাকটরকে ডাকা হবে এবং একটি বিশেষ বার্তা প্রিন্ট করা হবে। তারপরে, ক্লাসের ভেরিয়েবলে দুটি মান নির্ধারিত হয় এবং পরে ব্যবহার করে মুদ্রিত হয় 'Obj' বস্তু

জনসাধারণ শ্রেণীকন 1{

// ভেরিয়েবল ঘোষণা
স্ট্রিং নাম;
intবয়স;

// প্যারামিটার-কম কন্সট্রাকটর
কন 1() {
পদ্ধতিবাইরেprintln('কনস্ট্রাক্টর বলা হয়।');

// ভেরিয়েবল শুরু করুন
নাম= 'ফাহিম রেজা';
বয়স= 30;
}

// প্রধান () পদ্ধতি
জনসাধারণ স্থির অকার্যকরপ্রধান( স্ট্রিং []যুক্তি) {

// একটি বস্তু তৈরি করুন
কন 1 obj= নতুনকন 1();

// বস্তুর বৈশিষ্ট্যগুলির মানগুলি মুদ্রণ করুন
পদ্ধতিবাইরেছাপা('বয়স' +objনাম + 'হয়' +objবয়স);
}
}

আউটপুট:



নিচের ছবিটি কোডের আউটপুট দেখায়। অবজেক্ট তৈরির সময় এবং বার্তার সময় কনস্ট্রাক্টরকে ডাকা হয় কনস্ট্রাক্টর বলা হয় মুদ্রিত হয়। এর মান ' নাম ' এবং ' বয়স 'নির্মাতার ভিতরে নিযুক্ত করা হয়। এই ভেরিয়েবলের মানগুলি পরে মুদ্রিত হয়।

উদাহরণ 2: একটি প্যারামিটারাইজড কনস্ট্রাকটর তৈরি করুন

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

জনসাধারণ শ্রেণীকন 2{

// ভেরিয়েবল ঘোষণা করুন
স্ট্রিং নাম;
স্ট্রিং পোস্ট;
intবেসিক;
দ্বিগুণঘর ভাড়া;
দ্বিগুণচিকিৎসা;
দ্বিগুণপরিবহন;
দ্বিগুণবেতন;

// প্যারামিটারাইজড কন্সট্রাকটর
কন 2( স্ট্রিং নাম, স্ট্রিং পোস্ট,intমৌলিক) {
এইনাম =নাম;
এইপোস্ট =পোস্ট;
এইবেসিক =মৌলিক;
এইঘর ভাড়া =মৌলিক*0.3;
এইচিকিৎসা =মৌলিক*0.2;
এইপরিবহন =মৌলিক*0.1;
বেতন=মৌলিক+ঘর ভাড়া+চিকিৎসা+পরিবহন;
}

// প্রধান () পদ্ধতি
জনসাধারণ স্থির অকার্যকরপ্রধান( স্ট্রিং []যুক্তি) {

// একটি বস্তু তৈরি করুন
কন 2 obj= নতুনকন 2('মীর সাব্বির','হিসাবরক্ষক',65000);

// বস্তুর বৈশিষ্ট্যগুলির মানগুলি মুদ্রণ করুন
পদ্ধতিবাইরেছাপা('কর্মকর্তার নাম: ' +objনাম + 'n' + 'পোস্ট:'+objপোস্ট +
'n' + 'বেতন: TK'+objবেতন);
}
}

আউটপুট:

নিচের ছবিটি কোডের আউটপুট দেখায়। এখানে, কর্মচারীর নাম, পদ এবং মূল বেতন বস্তু তৈরির বিবৃতিতে দেওয়া হয়। মোট বেতন, নাম, এবং পোস্ট এখানে মুদ্রিত হয়।

উদাহরণ 3: কনস্ট্রাক্টর চেইন তৈরি করুন

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

শ্রেণীপিতামাতা{

// পরিবর্তনশীল ঘোষণা করুন
স্ট্রিং strVal;

// অভিভাবক নির্মাতা
পিতামাতা(){
পদ্ধতিবাইরেprintln('প্যারেন্ট কনস্ট্রাক্টর বলা হয়');
strVal= 'আমি পছন্দ করি ';
}
}

জনসাধারণ শ্রেণীকন 3প্রসারিতপিতামাতা{

// পরিবর্তনশীল ঘোষণা করুন
স্ট্রিং childStrVal;

// শিশু নির্মাতা
কন 3(){
পদ্ধতিবাইরেprintln('শিশু নির্মাতা বলা হয়');
childStrVal=strVal+ 'জাভা প্রোগ্রামিং';
}

// স্ট্রিং একত্রিত করার আরেকটি পদ্ধতি
স্ট্রিং একত্রিত করা()
{
প্রত্যাবর্তন এইchildStrVal;
}

// প্রধান () পদ্ধতি
জনসাধারণ স্থির অকার্যকরপ্রধান( স্ট্রিং []যুক্তি) {

// একটি বস্তু তৈরি করুন
কন 3 obj= নতুনকন 3();
// বস্তুর বৈশিষ্ট্যগুলির মানগুলি মুদ্রণ করুন
পদ্ধতিবাইরেছাপা(objএকত্রিত করা());
}
}

আউটপুট:

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

উপসংহার

কনস্ট্রাক্টরের ধারণা এবং বিভিন্ন কনস্ট্রাক্টরের ব্যবহার এই টিউটোরিয়ালে সহজ জাভা কোডের উদাহরণ ব্যবহার করে ব্যাখ্যা করা হয়েছে যাতে নতুন ব্যবহারকারীরা অনুসরণ করতে পারে। আশা করি, এই উদাহরণগুলি আপনাকে জাভা কনস্ট্রাক্টরের মূল বিষয়গুলি বুঝতে সাহায্য করেছে।