এটি এবং জাভাতে সুপারের মধ্যে পার্থক্য

সুচিপত্র:

এটি এবং জাভাতে সুপারের মধ্যে পার্থক্য
এটি এবং জাভাতে সুপারের মধ্যে পার্থক্য

ভিডিও: এটি এবং জাভাতে সুপারের মধ্যে পার্থক্য

ভিডিও: এটি এবং জাভাতে সুপারের মধ্যে পার্থক্য
ভিডিও: এই() এবং সুপার() এর মধ্যে পার্থক্য কি মূল জাভা FAQs ভিডিও | নরেশ আইটি 2024, জুলাই
Anonim

মূল পার্থক্য – জাভাতে এই বনাম সুপার

জাভা প্রোগ্রামিংয়ে 'this' এবং 'super' কীওয়ার্ড ব্যবহার করা হয়। এই কীওয়ার্ডগুলি ভেরিয়েবল বা অন্য কোনো শনাক্তকারীর নাম হিসাবে ব্যবহার করা যাবে না। জাভা অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং (OOP) সমর্থন করে। প্রোগ্রাম বা সফ্টওয়্যার বস্তু ব্যবহার করে মডেল করা যেতে পারে. অবজেক্ট ক্লাস ব্যবহার করে অতৃপ্ত হয়. OOP এর একটি স্তম্ভ হল উত্তরাধিকার। এটি কোড পুনরায় ব্যবহারযোগ্যতা প্রদান করে। যে শ্রেণীগুলি ইতিমধ্যেই বিদ্যমান সেগুলি হল সুপারক্লাস, এবং প্রাপ্ত শ্রেণীগুলি হল সাবক্লাস। সুপার কিওয়ার্ডটি সুপারক্লাসের একটি বস্তুকে উল্লেখ করতে ব্যবহার করা যেতে পারে। সিস্টেমে একাধিক বস্তু রয়েছে। 'এই' কীওয়ার্ডটি একটি বর্তমান বস্তুর উল্লেখ করতে ব্যবহৃত হয়।এই এবং সুপারের মধ্যে মূল পার্থক্য হল 'এই' হল একটি রেফারেন্স ভেরিয়েবল যা বর্তমান বস্তুকে উল্লেখ করতে ব্যবহৃত হয় যখন 'সুপার' একটি রেফারেন্স ভেরিয়েবল যা তাৎক্ষণিক সুপারক্লাস অবজেক্টকে উল্লেখ করতে ব্যবহৃত হয়।

জাভাতে এটা কি?

'এই' কীওয়ার্ডটি বর্তমান বস্তুর উল্লেখ করতে ব্যবহৃত হয়। প্রদত্ত জাভা প্রোগ্রাম দেখুন।

জাভাতে এই এবং সুপারের মধ্যে পার্থক্য
জাভাতে এই এবং সুপারের মধ্যে পার্থক্য

চিত্র 01: এই কীওয়ার্ডটি ব্যবহার করে জাভা প্রোগ্রাম

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

বর্তমান ক্লাস পদ্ধতি চালু করতে 'এই' কীওয়ার্ডটি ব্যবহার করা যেতে পারে। প্রদত্ত জাভা প্রোগ্রামটি পড়ুন।

পাবলিক ক্লাস এই ডেমো{

পাবলিক স্ট্যাটিক ভ্যায়েড মেইন (স্ট্রিং আর্গস){

Myclass myClass=new Myclass();

myClass. B();

}

}

ক্লাস মাইক্লাস{

সর্বজনীন অকার্যকর A(){

System.out.println(“A”);

}

সর্বজনীন শূন্যতা B(){

System.out.prinltn(“B”);

এই.এ();

}

}

Myclass ক্লাসে দুটি পদ্ধতি রয়েছে। সেগুলি হল পদ্ধতি A এবং B। Myclass-এর একটি অবজেক্ট তৈরি করার সময় এবং B পদ্ধতিটি চালু করার সময় B, A আউটপুট হিসাবে প্রিন্ট করবে। B পদ্ধতিতে, B প্রিন্ট করার পরে এই হিসাবে একটি বিবৃতি আছে। A()। এটি ব্যবহার করে, বর্তমান ক্লাস পদ্ধতি চালু করা হয়েছে।

বর্তমান ক্লাস কনস্ট্রাক্টরকে আহ্বান করতে এই কীওয়ার্ডটি ব্যবহার করাও সম্ভব। প্রদত্ত প্রোগ্রাম দেখুন।

পাবলিক ক্লাস এই ডেমো{

পাবলিক স্ট্যাটিক ভ্যায়েড মেইন (স্ট্রিং আর্গস){

A obj=নতুন A(5);

}

}

শ্রেণী A{

পাবলিক এ(){

System.out.println("কনস্ট্রাক্টর A");

}

পাবলিক A(int x){

এই();

System.out.println("প্যারামিটারাইজড কনস্ট্রাক্টর A");

}

}

উপরের প্রোগ্রাম অনুসারে, ক্লাস A এর একটি ডিফল্ট কনস্ট্রাক্টর এবং একটি প্যারামিটারাইজড কনস্ট্রাক্টর রয়েছে। A এর একটি বস্তু তৈরি করার সময়, প্যারামিটারাইজড কনস্ট্রাক্টর বলা হয়। প্যারামিটারাইজড কনস্ট্রাক্টরে, এইরকম একটি বিবৃতি আছে(); এটি বর্তমান ক্লাস কনস্ট্রাক্টরকে কল করবে যা A().

জাভাতে সুপার কি?

কীওয়ার্ড 'সুপার' উত্তরাধিকারের সাথে সম্পর্কিত। উত্তরাধিকার হল অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর একটি প্রধান ধারণা। এটি একটি নতুন ক্লাসে ইতিমধ্যে বিদ্যমান ক্লাসের বৈশিষ্ট্য এবং পদ্ধতিগুলি ব্যবহার করার অনুমতি দেয়। ইতিমধ্যে বিদ্যমান শ্রেণীটি অভিভাবক শ্রেণী বা সুপারক্লাস হিসাবে পরিচিত। নতুন ক্লাসটি চাইল্ড ক্লাস বা সাবক্লাস নামে পরিচিত৷

The 'super' হল একটি রেফারেন্স ভেরিয়েবল যা তাৎক্ষণিক প্যারেন্ট ক্লাস অবজেক্টকে উল্লেখ করতে ব্যবহৃত হয়। সুপার কীওয়ার্ডটি অবিলম্বে অভিভাবক শ্রেণির উদাহরণ ভেরিয়েবলকে উল্লেখ করতে পারে বা অবিলম্বে পিতামাতার শ্রেণির পদ্ধতি চালু করতে পারে। সুপার() তাৎক্ষণিক প্যারেন্ট ক্লাস কনস্ট্রাক্টরকে ডাকতে ব্যবহার করা হয়।

অনুমান করুন যে A এবং B হিসাবে দুটি শ্রেণী রয়েছে। ক্লাস A হল সুপারক্লাস এবং ক্লাস B হল সাবক্লাস। ক্লাস এ, বি উভয়েরই ডিসপ্লে পদ্ধতি রয়েছে।

পাবলিক ক্লাস এ{

সর্বজনীন অকার্যকর প্রদর্শন(){

System.out.println(“A”);

}

}

পাবলিক ক্লাস B A{ বাড়িয়েছে

সর্বজনীন অকার্যকর প্রদর্শন(){

System.out.println(“B”);

}

}

B টাইপের একটি অবজেক্ট তৈরি করার সময় এবং মেথড ডিসপ্লেকে কল করার সময় এটি B আউটপুট দেবে। ক্লাস A-তে ডিসপ্লে মেথড আছে, কিন্তু সাবক্লাস B ডিসপ্লে পদ্ধতি দ্বারা এটি ওভাররাইড করা হয়। প্রোগ্রামার যদি A ক্লাসে ডিসপ্লে মেথডকে কল করতে চান, তাহলে তিনি সুপার কীওয়ার্ড ব্যবহার করতে পারেন। প্রদত্ত জাভা প্রোগ্রাম দেখুন।

Java_Figure 02-এ এর এবং সুপারের মধ্যে পার্থক্য
Java_Figure 02-এ এর এবং সুপারের মধ্যে পার্থক্য

চিত্র 02: সুপার কীওয়ার্ড ব্যবহার করে জাভা প্রোগ্রাম

উপরের প্রোগ্রাম অনুসারে, ক্লাস A এর মান 10 সহ একটি ভেরিয়েবল নামক নম্বর রয়েছে। ক্লাস B-এ A প্রসারিত করে এবং 20 মান সহ একটি ভেরিয়েবল নামক নম্বর রয়েছে। সাধারণত, B টাইপের একটি বস্তু তৈরি করার সময় এবং প্রদর্শন পদ্ধতিতে কল করার সময় সাবক্লাসে নম্বর দেওয়া উচিত কারণ সুপারক্লাস মান নতুন ক্লাস দ্বারা ওভাররাইড করা হয়েছে।super.num ব্যবহার করে, সুপারক্লাস সংখ্যার মান প্রিন্ট করা হয়।

সুপার() সুপারক্লাস কনস্ট্রাক্টরকে কল করতে ব্যবহার করা যেতে পারে। নিচের প্রোগ্রামটি দেখুন।

পাবলিক ক্লাস প্রধান {

পাবলিক স্ট্যাটিক ভ্যায়েড মেইন (স্ট্রিং আর্গস){

B obj=নতুন B();

}

}

শ্রেণী A{

A(){

System.out.println(“A”);

}

}

শ্রেণী B A{ প্রসারিত করে

B(){

সুপার();

System.out.println(“B”);

}

}

উপরের প্রোগ্রাম অনুযায়ী, ক্লাস এ একটি কন্সট্রাক্টর A () আছে। ক্লাস B এর কনস্ট্রাক্টর B () আছে। ক্লাস B ক্লাস A প্রসারিত করে। B টাইপের একটি অবজেক্ট তৈরি করার সময়, এটি আউটপুট হিসাবে A, B প্রিন্ট করবে। B() কনস্ট্রাক্টরের সুপার() আছে। অতএব, প্রথমে A কনস্ট্রাক্টরকে আহ্বান করা হয় এবং তারপর B এ যায়।সুপার () লেখা না হলেও, ডিফল্টরূপে প্যারেন্ট কনস্ট্রাক্টর বলা হয়।

পদ্ধতিটি ব্যবহার করে সুপারটি নিম্নরূপ।

জাভাতে এই এবং সুপারের মধ্যে কী পার্থক্য
জাভাতে এই এবং সুপারের মধ্যে কী পার্থক্য

চিত্র 03: জাভা প্রোগ্রাম যা সুপারক্লাস পদ্ধতির আহ্বান করে

উপরের প্রোগ্রাম অনুসারে, ক্লাস A-তে প্রদর্শন পদ্ধতি রয়েছে। ক্লাস B এর ডিসপ্লে পদ্ধতিও রয়েছে। ক্লাস B A প্রসারিত করে। B টাইপের একটি অবজেক্ট তৈরি করার সময় এবং ডিসপ্লে মেথড কল করলে A এবং B হিসাবে আউটপুট পাওয়া যায়। ক্লাস B ডিসপ্লে পদ্ধতিতে, ক্লাস A ডিসপ্লে পদ্ধতিকে বলা হয় super.display() ব্যবহার করে। এই পদ্ধতিটি প্রথমে "A" প্রিন্ট করে। তারপর "B" প্রিন্ট করে।

এটি এবং সুপারের মধ্যে মিল কী?

দুটিই জাভা প্রোগ্রামিংয়ের কীওয়ার্ড।

এটি এবং সুপারের মধ্যে পার্থক্য কী?

এই বনাম সুপার

‘এই’ একটি রেফারেন্স ভেরিয়েবল যা বর্তমান বস্তুকে উল্লেখ করতে ব্যবহৃত হয়। ‘সুপার’ একটি রেফারেন্স ভেরিয়েবল যা একটি তাৎক্ষণিক সুপারক্লাস বস্তুকে উল্লেখ করতে ব্যবহৃত হয়।
ইনস্ট্যান্স ভেরিয়েবল
একটি বর্তমান ক্লাস ইনস্ট্যান্স ভেরিয়েবল এটি ব্যবহার করে উল্লেখ করা যেতে পারে। সুপারক্লাস ইনস্ট্যান্স ভেরিয়েবলকে সুপার ব্যবহার করে উল্লেখ করা যেতে পারে।
শ্রেণি পদ্ধতি
বর্তমান ক্লাস পদ্ধতি এটি ব্যবহার করে আহ্বান করা যেতে পারে। সুপার ব্যবহার করে সুপারক্লাস পদ্ধতি চালু করা যেতে পারে।
কনস্ট্রাক্টর
বর্তমান ক্লাস কনস্ট্রাক্টরকে এটি () ব্যবহার করে আহ্বান করা যেতে পারে। সুপারক্লাস কনস্ট্রাক্টরকে সুপার() ব্যবহার করে ডাকা যেতে পারে।

সারাংশ – জাভাতে এই বনাম সুপার

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

জাভাতে এই বনাম সুপারের PDF ডাউনলোড করুন

আপনি এই নিবন্ধটির PDF সংস্করণ ডাউনলোড করতে পারেন এবং উদ্ধৃতি নোট অনুসারে অফলাইন উদ্দেশ্যে এটি ব্যবহার করতে পারেন। অনুগ্রহ করে এখানে PDF সংস্করণ ডাউনলোড করুন: জাভাতে এর এবং সুপারের মধ্যে পার্থক্য

প্রস্তাবিত: