உள்ளூர் வகுப்புகள்: முறைகளுக்குள் வகுப்புகள் - 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 இன் மதிப்பை என்னால் உடனடியாக பொலிஸ் எண்ணுக்கு ஒதுக்க முடியாது என்பதை நீங்கள் பார்க்கலாம். அதற்குப் பதிலாக, நான் முதலில் அதைச் சேமிக்கிறேன். இறுதி மாறி எண்."

"ஒரு முறையின் மாறிகளைப் பயன்படுத்துவது மிகவும் அருமையாக உள்ளது. அதை சரியாகப் பாராட்டுவேன் என்று நம்புகிறேன். இருப்பினும் உங்களால் மாறிகளை மாற்ற முடியாது என்பது மிகவும் மோசமானது."

"அவற்றை ஏன் மாற்ற முடியாது என்று எல்லி இன்று உங்களுக்கு விளக்குவார். இதற்கிடையில், நான் ஒரு மணி நேரம் தூங்கப் போகிறேன்."

"குட் நைட், கிம். சுவாரஸ்யமான பாடத்திற்கு நன்றி."