জাভাতে বেনামে ক্লাস কিভাবে প্রয়োগ করবেন



এই ব্লগটি আপনাকে জাভাতে বেনামে ক্লাসের উদাহরণ এবং এটি একটি নিয়মিত শ্রেণীর থেকে কীভাবে আলাদা হয় তার বিশদ এবং বিস্তৃত জ্ঞান সরবরাহ করবে।

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

বেনামে ক্লাসি ঘোষণা করা





সাধারণত আমরা একটি ক্লাস তৈরি করি অর্থাৎ আমরা ক্লাস ঘোষণা করি তবে, বেনাম ক্লাসগুলি হল এক্সপ্রেশন বা যার অর্থ আমরা বেনাম শ্রেণিকে অন্য একটিতে সংজ্ঞায়িত করি অভিব্যক্তি । সহজ কথায়, বেনামে অভ্যন্তরীণ বর্গ হল নাম ব্যতীত একটি শ্রেণি এবং কেবল একটি অবজেক্ট তৈরি হয়।

Anonymous-Class-In-Java



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

বেনাম দুটি উপায়ে তৈরি করা যেতে পারে:

  • ক্লাস (বিমূর্তও হতে পারে)
  • ইন্টারফেস

বেনাম শ্রেণিতে আমরা নিম্নলিখিতটি ঘোষণা করতে পারি:



জাভাতে কোনও পাওয়ারে কীভাবে কিছু বাড়ানো যায়
  • ক্ষেত্র
  • অতিরিক্ত পদ্ধতি
  • ইনস্ট্যান্স ইনিশিয়েলজার্স
  • স্থানীয় ক্লাস

জাভাতে বেনাম শ্রেণীর সিনট্যাক্স

বেনামে বর্গের বাক্য গঠনটি কেবল নির্মাতার মতো, নীচে স্নিপেটে যেমন দেখানো আছে তেমন ব্লকের কোনও শ্রেণির সংজ্ঞা রয়েছে:

// বেনামে ক্লাস = ইন্টারফেস, বিমূর্ত / কংক্রিট শ্রেণি। অ্যানোনিমাস ক্লাস টি = নতুন অ্যানোনিমাস ক্লাস () {// পদ্ধতিগুলি এবং ক্ষেত্রগুলি সর্বজনীন শূন্য কিছু মেঠোড () {// কোড এখানে যায়}}

আসুন নীচের উদাহরণটি একবার দেখুন:

নিম্নলিখিত উদাহরণ,হ্যালোঅনামাস ক্লাসস্থানীয় ভেরিয়েবলের প্রারম্ভিক বিবৃতিতে বেনাম ক্লাস ব্যবহার করেগ্রেটসোমনেতবে, ভেরিয়েবলের সূচনা করার জন্য স্থানীয় শ্রেণি ব্যবহার করেগ্রেট ওয়ার্ল্ড:

পাবলিক ক্লাস হ্যালোঅনামমাস ক্লাস {ইন্টারফেস হ্যালো ওয়ার্ল্ড {পাবলিক বায়োড বলে হেলো () পাবলিক বায়োড বলে হেলোটো (স্ট্রিং কারো)} পাবলিক বায়োড সেহেলো () ক্লাস গ্রেট ওয়ার্ল্ড হ্যালোওয়ার্ল্ড ments স্ট্রিং নেম = 'ওয়ার্ল্ড' পাবলিক অকার্যকর বলুনহেলো () {বলে 'হেলোটো' ('ওয়ার্ল্ড') পাবলিক অকার্যকর বলুন হেলোটো (স্ট্রিং কাউকে) {নাম = কেউ সিস্টেম.আউট.প্রিন্টলন ('হ্যালো' + নাম)}} হ্যালো ওয়ার্ল্ড গ্রেট ওয়ার্ল্ড =) গ্রেট ওয়ার্ল্ড () হ্যালো ওয়ার্ল্ড গ্রেটসোমোন = নতুন হ্যালো ওয়ার্ল্ড () ring স্ট্রিং নাম = 'জোন' পাবলিক শূন্য বলুন হেলো ( ) {sayHelloTo ('জন')} সর্বজনীন শূন্য বলুন HelloTo (কাউকে স্ট্রিং করে) {নাম = কেউ System.out.println ('হোলা' + নাম)} W গ্রেট ওয়ার্ল্ড.সেইহেলো () গ্রেটসোমোন.সেইহেলোটো ('ডো')} পাবলিক স্ট্যাটিক অকার্যকর মূল (স্ট্রিং ... আরগস) {হ্যালোএনামনাস ক্লাস মাই অ্যাপ = নতুন হ্যালোঅনামনাস ক্লাস () মাই অ্যাপ.সায়হেলো ()}}

যেমন আমরা দেখেছি যে বেনামে বর্গ একটি বাক্য বাক্য বাক্য বাক্সে ঠিক যেমন নির্মাতার যেমন ব্লকের কোনও শ্রেণি সংজ্ঞা না থাকে। গ্রিথসোমোন অবজেক্টের ইনস্ট্যান্টেশন বিবেচনা করুন:

হ্যালো ওয়ার্ল্ড গ্রেটসোমোন = নতুন হ্যালো ওয়ার্ল্ড () ring স্ট্রিংয়ের নাম = 'জন' পাবলিক বায়োড বলুন হেলো () {বলুনহেলোটো ('জন')} পাবলিক বায়োড হেইলোটো (স্ট্রিং কাউকে) {নাম = কেউ সিস্টেম.আউট.প্রিন্টলন ('হোলা' + নাম) }}

বেনাম শ্রেণি নিম্নলিখিত দ্বারা গঠিত:

  • নতুন অপারেটর
  • এটি একটি ইন্টারফেস বাস্তবায়ন করতে পারে বা একটি শ্রেণি প্রসারিত করতে পারে। উপরের উদাহরণ হিসাবে, এটি ইন্টারফেস বাস্তবায়ন করা হয়।
  • কনস্ট্রাক্টরের পক্ষে যুক্তিগুলি পাস করার জন্য এটিতে সাধারণ ক্লাসের মতো প্রথম বন্ধনী রয়েছে।
  • এমন পদার্থ যা মেথড ডিক্লেয়ারেশন ধারণ করে। ঘোষণার অনুমতি নেই।

বেনাম শ্রেণীর বিবৃতিগুলির অংশ হওয়া উচিত।

উপরের উদাহরণে, বেনাম শ্রেণীর প্রকাশটি বিবৃতিটির অংশ যা দ্বারা শুরু করা হয়েছিলগ্রেটসোমনে

জাভাতে বেনামে ক্লাস তৈরির উপায়

জাভাতে ইনার ক্লাস তৈরির 3 টি উপায় রয়েছে

  • ক্লাস বাড়ানো দ্বারা

আমরা অন্য বর্গকে প্রসারিত করে একটি বেনামী অন্তর্গত শ্রেণি তৈরি করতে পারি, ধরুন থ্রেড ক্লাস ব্যবহার করে আমাদের একটি থ্রেড তৈরি করতে হবে আমরা একটি পৃথক শ্রেণি তৈরির পরিবর্তে বেনামে অভ্যন্তরীণ শ্রেণি তৈরি করতে পারি।

// অন্যান্য বর্গ শ্রেণীর বর্ধিত করে বেনামি অভ্যন্তর শ্রেণীর চিত্রিত করার প্রোগ্রাম অ্যানোনিমাস থ্রেডক্লাস {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) {// অজ্ঞাতনামা অভ্যন্তরীণ শ্রেণি যা থ্রেড শ্রেণির থ্রেড টি প্রসারিত করে t = নতুন থ্রেড () {পাবলিক অকার্যকর রান () {সিস্টেম .out.println ('চাইল্ড!')}। t.start () System.out.println ('প্যারেন্ট!')}

আউটপুট:

পিতামাতা!

বাচ্চা!

  • ইন্টারফেস প্রয়োগ করে

ইন্টারফেসটি প্রয়োগ করে আমরা একটি বেনামে অভ্যন্তরীণ শ্রেণি তৈরি করতে পারি। এখন, আমরা যেমন ক্লাস প্রসারিত করে একটি অন্তর্গত শ্রেণি তৈরি করেছি আমরা একটি শ্রেণি তৈরি করতে পারি যা একটি ইন্টারফেস প্রয়োগ করে।

// প্রোগ্রাম অ্যানোনিমাস ট্র্যাডক্লাস {পাবলিক স্ট্যাটিক শূন্যস্থানীয় মূল (স্ট্রিং [] আরগস) প্রয়োগ করে বেনামি অভ্যন্তর শ্রেণীর চিত্রিত করার জন্য প্রোগ্রাম {// বেনামে অভ্যন্তর শ্রেণি যা ইন্টারফেস প্রয়োগ করে রান্নেবল r = নতুন রান্নেবল () {পাবলিক অকার্যকর রান ()। System.out .println ('চাইল্ড!')} read থ্রেড টি = নতুন থ্রেড (r) t.start () System.out.println ('প্যারেন্ট!')}

আউটপুট:

পিতামাতা!

বাচ্চা!

  • কোনও পদ্ধতি / নির্মাণকারীর পক্ষে যুক্তি হিসাবে

বাক্য গঠন বুঝতে নীচের উদাহরণটি দেখে নেওয়া যাক:

// প্রোগ্রাম অ্যানোনিমাস ইনার ক্লাসটি আর্গুমেন্ট ক্লাস দ্বারা চিত্রিত করার জন্য AnonymousThreadClass {পাবলিক স্ট্যাটিক শূন্য মূল (স্ট্রিং [] আরগস) gs // কনস্ট্রাক্টর আর্গুমেন্ট সহ অজ্ঞাতনামা ক্লাস থ্রেড টি = নতুন থ্রেড (নতুন রান্নেবল () {পাবলিক অকার্যকর রান ()। সিস্টেম। out.println ('চাইল্ড!')}}) t.start () System.out.println ('প্যারেন্ট!')}

আউটপুট:

পিতামাতা!

বাচ্চা!

নিয়মিত এবং নামবিহীন অভ্যন্তর শ্রেণীর মধ্যে পার্থক্য

  • আমরা বাস্তবায়ন করতে পারি ইন্টারফেস একাধিক সংখ্যা সাধারণ বর্গ ব্যবহার করে তবে, একটি বেনামে অভ্যন্তর শ্রেণীর সাথে, আমরা কেবল একটি ইন্টারফেস প্রয়োগ করতে পারি।

  • নিয়মিত ক্লাস দিয়ে আমরা পারি একটি বর্গ বৃদ্ধি এবং একাধিক ইন্টারফেস বাস্তবায়ন করতে পারে তবে, বেনামে অভ্যন্তরীণ শ্রেণীর সাহায্যে আমরা হয় ক্লাস প্রসারিত করতে পারি বা একটি ইন্টারফেস প্রয়োগ করতে পারি তবে একই সাথে উভয়ই না।

  • বেনামে আমরা কনস্ট্রাক্টর লিখতে পারি না কারণ বেনামে অভ্যন্তর শ্রেণীর নির্মাণকারীর নাম এবং নাম নেই বর্গের নামের মতো হওয়া উচিত।

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

একটি প্রশ্ন আছে? এই নিবন্ধটির মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।