স্থানীয় ক্লাস: ক্লাসের ভিতরে পদ্ধতি - 1

"হাই, অ্যামিগো!"

"আরেকটি ছোট ছোট বিষয় হল স্থানীয় ক্লাস ।"

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

"পর্দার দিকে তাকাও:"

উদাহরণ
class Car
{
 public ArrayListcreatePoliceCars(int count)
 {
  ArrayList result = new ArrayList();

  class PoliceCar extends Car
  {
   int policeNumber;
   PoliceCar(int policeNumber)
  {
   this.policeNumber = policeNumber;
  }
 }

 for(int i = 0; i < count; i++)
     result.add(new PoliceCar(i));
  return result;
 }
}

"এবং কেন আমরা এই ধরনের ক্লাস প্রয়োজন?"

"একটি পদ্ধতির ভিতরে সমস্ত কন্সট্রাকটর এবং পদ্ধতি সহ একটি ক্লাস স্থাপন করা খুব পঠনযোগ্য কোড তৈরি করে না, আপনি কি মনে করেন না?"

"ঠিক। তুমি একদম ঠিক বলেছ।"

"আপনি পদ্ধতির ভিতরে বেনামী অভ্যন্তরীণ ক্লাসগুলিও ব্যবহার করতে পারেন৷ তবে এই ক্লাসগুলির একটি ছোট সুবিধা রয়েছে এবং ফলস্বরূপ, তারা প্রায়শই পদ্ধতিগুলির ভিতরে ব্যবহার করা হয়৷"

"একটি পদ্ধতির মধ্যে ঘোষিত একটি ক্লাস সেই পদ্ধতির স্থানীয় ভেরিয়েবল ব্যবহার করতে পারে:"

class Car
{
 public ArrayListcreatePoliceCars(int count)
 {
  ArrayList result = new ArrayList();

  for(int i = 0; i < count; i++)
  {
   final int number = i;
   result.add(new Car()
  {
   int policeNumber = number;
  });
 }
  return result;
 }
}

"কিন্তু একটি সীমাবদ্ধতা আছে: ভেরিয়েবলগুলি "কেবল-পঠন" - সেগুলি পরিবর্তন করা যাবে না।"

"এখানে কেন সেই সীমাবদ্ধতা বিদ্যমান:"

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

"একটি পদ্ধতির ভেরিয়েবল ব্যবহার করতে পারা খুবই ভালো। আমি আশা করি সঠিকভাবে এর প্রশংসা করব। এটা খুবই খারাপ যে আপনি ভেরিয়েবল পরিবর্তন করতে পারবেন না।"

"এলি আজ তোমাকে ব্যাখ্যা করবে কেন তুমি সেগুলো বদলাতে পারো না। এদিকে, আমি প্রায় এক ঘণ্টা ঘুমাতে যাচ্ছি।"

"শুভ রাত্রি, কিম। আকর্ষণীয় পাঠের জন্য ধন্যবাদ।"