1. பொருள்கள் மற்றும் வகுப்புகள்

ஒரு பொதுவான ஜாவா நிரல் எவ்வாறு செயல்படுகிறது என்பதைப் பற்றி இன்று நீங்கள் கொஞ்சம் அறிந்து கொள்வீர்கள். இங்கே ஒரு பெரிய செய்தி: ஒவ்வொரு ஜாவா நிரலும் வகுப்புகள் மற்றும் பொருள்களைக் கொண்டுள்ளது.

வகுப்புகள் என்னவென்று உங்களுக்கு ஏற்கனவே தெரியும், ஆனால் பொருள்கள் என்றால் என்ன?

நான் ஒரு ஒப்புமையுடன் தொடங்குகிறேன். நீங்கள் ஒரு சிறிய கப்பலை உருவாக்க விரும்புகிறீர்கள் என்று கற்பனை செய்து பாருங்கள். முதலில் நீங்கள் ஒரு வரைபடத்தை உருவாக்க வேண்டும், பின்னர் அதை தொழிற்சாலைக்கு கொடுக்க வேண்டும், அங்கு வரைபடத்தின் படி ஒரு கப்பல் கட்டப்படும். அல்லது ஒருவேளை டஜன். அல்லது நீங்கள் விரும்பும் பல கப்பல்கள். ஒரே மாதிரியான டஜன் கணக்கான கப்பல்கள் ஒரு வரைபடத்தின்படி கட்டப்பட்டுள்ளன. அதுதான் இங்கே முக்கியமான விஷயம்.

ஜாவா புரோகிராமிங்கிலும் அப்படித்தான்.

வரைபடங்கள்

ஒரு புரோகிராமர் ஒரு வடிவமைப்பாளர் போன்றவர். ஒரு வடிவமைப்பாளர் வரைபடங்களை உருவாக்குகிறார், மேலும் ஒரு ஜாவா புரோகிராமர் வகுப்புகளை எழுதுகிறார். வரைபடங்களின் அடிப்படையில் பாகங்கள் உருவாக்கப்படுகின்றன, மேலும் பொருள்கள் வகுப்புகளின் அடிப்படையில் உருவாக்கப்படுகின்றன.

முதலில், நாங்கள் வகுப்புகளை எழுதுகிறோம் (புளூபிரிண்ட்களை உருவாக்குகிறோம்), பின்னர், நிரல் இயங்கும்போது, ​​ஜாவா இயந்திரம் இந்த வகுப்புகளின் அடிப்படையில் பொருட்களை உருவாக்குகிறது. அதே வழியில் கப்பல்கள் வரைபடத்தில் இருந்து உருவாக்கப்படுகின்றன.

ஒரே ஒரு வரைபடம் உள்ளது, ஆனால் பல கப்பல்கள் இருக்கலாம். கப்பல்கள் வேறுபட்டவை - அவை வெவ்வேறு பெயர்களைக் கொண்டுள்ளன மற்றும் வெவ்வேறு சரக்குகளை எடுத்துச் செல்கின்றன. ஆனால் அவை மிகவும் ஒத்தவை: அவை அனைத்தும் ஒரே வடிவமைப்பைப் பகிர்ந்து கொள்கின்றன மற்றும் ஒரே மாதிரியான பணிகளைச் செய்ய முடியும்.

அல்லது இங்கே மற்றொரு ஒப்புமை...

எறும்புப் புற்று

பொருள்கள் எவ்வாறு தொடர்பு கொள்கின்றன என்பதற்கு எறும்புப் புற்று ஒரு சிறந்த எடுத்துக்காட்டு. ஒரு எளிய எறும்புப் புற்றில் மூன்று வகை எறும்புகள் உள்ளன: ராணி, வீரர்கள் மற்றும் தொழிலாளர்கள்.

ஒவ்வொரு வகுப்பினதும் எறும்புகளின் எண்ணிக்கை வேறுபட்டது. முழு எறும்புக்கு ஒரு ராணி உள்ளது, ஆனால் டஜன் கணக்கான வீரர்கள் மற்றும் நூற்றுக்கணக்கான தொழிலாளர் எறும்புகள் உள்ளன. மூன்று வகுப்புகள் மற்றும் நூற்றுக்கணக்கான பொருள்கள். எறும்புகள் ஒன்றுடன் ஒன்று தொடர்பு கொள்கின்றன - ஒரே வகுப்பைச் சேர்ந்த எறும்புகளுடன் மற்றும் மற்ற வகுப்புகளின் எறும்புகளுடன் - கடுமையான விதிகளின்படி.

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

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

நிரலில் இருக்கும் ஒவ்வொரு பொருளுக்கும் நீங்கள் முதலில் வகுப்புகளை எழுத வேண்டும், பின்னர் அவை எவ்வாறு தொடர்பு கொள்கின்றன என்பதையும் விவரிக்க வேண்டும். ஆம், அது சரி, ஆனால் அது ஒலிப்பதை விட எளிதானது.

ஜாவாவில், அனைத்து நிறுவனங்களும் இயக்க நேரத்தில் பொருள்களாகும், மேலும் ஒரு நிரலை எழுதுவது என்பது பொருள்கள் தொடர்பு கொள்ளும் வெவ்வேறு வழிகளை விவரிப்பதாகும். பொருள்கள் வெறுமனே ஒருவருக்கொருவர் முறைகளை அழைக்கின்றன மற்றும் தேவையான தரவை அவர்களுக்கு அனுப்புகின்றன.

ஆவணப்படுத்தல்

மேலும் எந்தத் தரவை முறைகளுக்கு அனுப்ப வேண்டும் என்று உங்களுக்கு எப்படித் தெரியும்? உங்களுக்கு முன் வந்தவர்கள் எல்லாம் நினைத்தார்கள்.

ஒவ்வொரு வகுப்பிற்கும் பொதுவாக அது எதற்காக உருவாக்கப்பட்டது என்பதைக் கூறும் விளக்கம் உள்ளது. மேலும், ஒவ்வொரு பொது முறையும் வழக்கமாக அது என்ன செய்கிறது மற்றும் அதற்கு என்ன தரவு அனுப்பப்பட வேண்டும் என்பதைக் குறிக்கும் ஒரு விளக்கம் உள்ளது.

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

கோப்பை நகலெடுப்பதற்கான குறியீட்டைப் பார்ப்போம்:

c:\\data.txt கோப்பை c:\\result.txt கோப்பில் நகலெடுக்கிறது
package com.codegym.lesson2;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileCopy
{
   public static void main(String[] args) throws IOException
   {
      FileInputStream fileInputStream = new FileInputStream("c:\\data.txt");
      FileOutputStream fileOutputStream = new FileOutputStream("c:\\result.txt");

      while (fileInputStream.available() > 0)
      {
         int data = fileInputStream.read();
         fileOutputStream.write(data);
      }

      fileInputStream.close();
      fileOutputStream.close();
   }
}

இந்த குறியீட்டை நீங்கள் வரிக்கு வரியாகப் படித்தால், இது பொதுவாக என்ன செய்கிறது என்பதை நீங்கள் யூகிக்க முடியும். அதற்கு அனுபவம் மற்றும் பயிற்சி தேவை என்றாலும். சிறிது நேரம் கழித்து, இந்த குறியீடு உங்களுக்கு நன்கு தெரிந்ததாகவும் புரிந்துகொள்ளக்கூடியதாகவும் தோன்றும்.


2. ஒரு திட்டத்தை வடிவமைத்தல்

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

ஒரு நிரலை வடிவமைப்பது ஒரு புத்தகம் எழுதுவது போன்றது. ஒருபுறம், நீங்கள் எழுத்துக்கள், வார்த்தைகள் மற்றும் வாக்கியங்களை எழுதுகிறீர்கள். மறுபுறம், கதைக்களம், பாத்திரங்கள், உள் முரண்பாடுகள், மோதல்கள், கதை சொல்லும் பாணி, சூழ்ச்சி போன்றவை முக்கியமானவை.

முக்கிய விஷயம் என்னவென்றால், நீங்கள் யாருக்காக குறியீட்டை எழுதுகிறீர்கள் என்பதைப் புரிந்துகொள்வது. நீங்கள் மற்ற புரோகிராமர்களுக்கான குறியீட்டை எழுதுகிறீர்கள் .

தயாரிப்பு மேம்பாடு என்பது தவிர்க்க முடியாமல் மாற்றங்களைச் செய்வதைக் குறிக்கிறது: இங்கே ஏதாவது சேர்க்கப்படுகிறது, வேறு ஏதாவது அகற்றப்படுகிறது, ஏதாவது மறுவடிவமைப்பு செய்யப்படுகிறது. பெரிய, மகத்தான மற்றும் பிரமாண்டமான திட்டங்கள் சிறிய மறு செய்கைகளிலிருந்து பிறக்கிறது.

குறியீட்டிற்கு மிகவும் முக்கியமானது என்னவென்றால், அது மற்ற புரோகிராமர்களுக்கு புரியும் வகையில் இருக்க வேண்டும். புரிந்துகொள்ளக்கூடிய தவறான குறியீட்டை சரிசெய்யலாம். சரியான ஆனால் புரிந்துகொள்ள முடியாத குறியீட்டை மேம்படுத்த முடியாது.  நீங்கள் செய்யக்கூடியது அதை நிராகரிக்க வேண்டும்.

நல்ல, சுத்தமான குறியீட்டை எப்படி எழுதுவது?

இதைச் செய்ய மூன்று விஷயங்கள் தேவை:

  • முறைகளுக்குள் நல்ல மற்றும் புரிந்துகொள்ளக்கூடிய குறியீட்டை எழுதுவது - இது எளிதான தேவை
  • திட்டத்தில் எந்தெந்த நிறுவனங்கள் சேர்க்கப்பட வேண்டும் என்பதை தீர்மானித்தல்
  • நிரலை தர்க்கரீதியான பகுதிகளாக சரியாகப் பிரித்தல்

இந்த கருத்துகளுக்கு பின்னால் என்ன இருக்கிறது?

முறைகளுக்குள் நல்ல குறியீட்டை எழுதுதல்

உங்களிடம் அடிப்படை ஆங்கிலத் திறன்கள் கூட இருந்தால், சில சமயங்களில் குறியீட்டை ஆங்கில வாக்கியங்களாகப் படிப்பது எவ்வளவு எளிது என்பதை நீங்கள் கவனித்திருக்கலாம்:

  • class Cat extends Pet— இதன் பொருள் பூனை வகுப்பு செல்லப்பிராணி வகுப்பை விரிவுபடுத்துகிறது
  • while(stream.ready())- ஸ்ட்ரீம் தயாராக இருக்கும் வரை...
  • if (a<b) return a; else return b- аவிட குறைவாக இருந்தால் b, திரும்பவும் а, இல்லையெனில் திரும்பவும் b.

இது வேண்டுமென்றே. சுய-ஆவணக் குறியீட்டை எழுதுவதை எளிதாக்கும் பல மொழிகளில் ஜாவாவும் ஒன்றாகும், அதாவது கருத்துகள் இல்லாமல் புரிந்துகொள்ளக்கூடிய குறியீடு. நல்ல ஜாவா குறியீட்டில், ஆங்கில வாக்கியங்களைப் போலவே பல முறைகளும் படிக்கப்படுகின்றன.

குறியீட்டை எழுதும்போது, ​​​​உங்கள் பணி முடிந்தவரை எளிமையாகவும் சுருக்கமாகவும் செய்ய வேண்டும். உங்கள் குறியீட்டைப் படிக்க எளிதாக உள்ளதா என்பதைப் பற்றி சிந்தித்துப் பாருங்கள், நீங்கள் சரியான திசையில் செல்லத் தொடங்குவீர்கள்.

ஜாவாவில், படிக்க எளிதான குறியீட்டை எழுதுவது வழக்கம். முன்னுரிமை, ஒரு முறைக்கான அனைத்து குறியீடுகளும் ஒரே திரையில் (அதாவது 20-30 வரிகள்) பொருந்தும். இது முழு ஜாவா சமூகத்தின் விதிமுறை. குறியீட்டை மேம்படுத்த முடிந்தால், அதை மேம்படுத்த வேண்டும்.

நல்ல குறியீட்டை எவ்வாறு எழுதுவது என்பதைக் கற்றுக்கொள்வதற்கான சிறந்த வழி பயிற்சியின் மூலம். நிறைய குறியீட்டை எழுதுங்கள், மற்றவர்களின் குறியீட்டைப் படிக்கவும், மேலும் உங்கள் குறியீட்டை மதிப்பாய்வு செய்ய அனுபவம் வாய்ந்த சக ஊழியர்களைக் கேட்கவும்.

"நன்றாக விட்டு விடுங்கள்" என்று நீங்களே சொல்லும் தருணத்தில், உங்கள் வளர்ச்சி நின்றுவிடும் என்பதை நினைவில் கொள்ளுங்கள்.

திட்டத்தில் எந்தெந்த நிறுவனங்கள் சேர்க்கப்பட வேண்டும் என்பதை தீர்மானித்தல்

மற்ற புரோகிராமர்கள் புரிந்துகொள்ளக்கூடிய குறியீட்டை நீங்கள் எழுத வேண்டும். ஒரு நிரலின் வடிவமைப்பில் 10ல் 9 புரோகிராமர்கள் A, B மற்றும் C வகுப்புகளை உள்ளடக்கியிருந்தால், உங்கள் திட்டத்தில் A, B மற்றும் C வகுப்புகளையும் உருவாக்க வேண்டும். மற்றவர்கள் புரிந்துகொள்ளும் வகையில் குறியீட்டை எழுத வேண்டும்.

சிறந்த, வேலை செய்யும், வேகமான, ஆனால் தரமற்ற குறியீடு மோசமான குறியீடு.

நீங்கள் மற்றவர்களின் திட்டங்களைப் படிக்க வேண்டும்: பல தசாப்தங்களாக தகவல் தொழில்நுட்பத் துறையில் குவிந்துள்ள அனைத்து ஞானத்தையும் ஊறவைக்க இதுவே சிறந்த, வேகமான மற்றும் எளிதான வழியாகும்.

மேலும், நீங்கள் ஏற்கனவே ஒரு சிறந்த, பிரபலமான மற்றும் நன்கு ஆவணப்படுத்தப்பட்ட திட்டத்திற்கான அணுகலைப் பெற்றுள்ளீர்கள் — Java SDK . அதனுடன் தொடங்குங்கள்.

வகுப்புகள் மற்றும் அவை எவ்வாறு ஒழுங்கமைக்கப்பட்டுள்ளன என்பதை பகுப்பாய்வு செய்யுங்கள். சில முறைகள் நிலையானவை மற்றும் மற்றவை ஏன் இல்லை என்பதைப் பற்றி சிந்தியுங்கள். முறைகள் ஏன் குறிப்பிட்ட அளவுருக்களைக் கொண்டுள்ளன, ஆனால் மற்றவை இல்லை. ஏன் இந்த முறைகள் சரியாக, ஏன் வகுப்புகளுக்குப் பெயரிடப்பட்டது, அவற்றின் குறிப்பிட்ட தொகுப்புகளில் அவை ஏன் உள்ளன.

இந்தக் கேள்விகள் அனைத்திற்கும் விடைகளை நீங்கள் புரிந்து கொள்ளத் தொடங்கியவுடன், மற்றவர்கள் புரிந்துகொள்ளக்கூடிய குறியீட்டை உங்களால் எழுத முடியும்.

ஜாவா SDK இன் முறைகளில் குறியீட்டை பகுப்பாய்வு செய்வதற்கு எதிராக நான் உங்களை எச்சரிக்க விரும்புகிறேன் . வேகத்தை அதிகரிக்க பல முறைகள் மீண்டும் எழுதப்பட்டன, மேலும் அவற்றின் வாசிப்புத்திறன் கேள்விக்குரியது.

நிரலை தர்க்கரீதியான பகுதிகளாக சரியாகப் பிரித்தல்

கிட்டத்தட்ட ஒவ்வொரு நிரலும் பகுதிகள் அல்லது தொகுதிகளாக பிரிக்கப்பட்டுள்ளது. ஒவ்வொரு பகுதியும் நிரலின் அதன் சொந்த அம்சத்திற்கு பொறுப்பாகும்.

கணினியில் மதர்போர்டு, மானிட்டர் மற்றும் விசைப்பலகை உள்ளது - இவை அனைத்தும் தனித்தனி, தளர்வாக இணைக்கப்பட்ட பாகங்கள். மேலும் என்னவென்றால், அவை தரப்படுத்தப்பட்ட வழிகளில் தொடர்பு கொள்கின்றன: USB, HDMI போன்றவை. நீங்கள் உங்கள் கீபோர்டில் காபியைக் கொட்டினால், அதை சிங்கினில் வைத்து கழுவி, உலர வைத்து, தொடர்ந்து பயன்படுத்தவும்.

ஆனால் ஒரு மடிக்கணினி ஒரு ஒற்றை கட்டிடக்கலைக்கு ஒரு எடுத்துக்காட்டு: தனித்தனி தர்க்கரீதியான பகுதிகளை நாம் கண்டறிய முடியும் என்று தோன்றுகிறது, ஆனால் அவை மிகவும் ஒருங்கிணைந்தவை. MacBookPro இல், கீபோர்டை சுத்தம் செய்ய மடிக்கணினியின் பாதியை பிரித்தெடுக்க வேண்டும். மடிக்கணினியில் உங்கள் காபியைக் கொட்டுவது புதிய மடிக்கணினியை ஆர்டர் செய்ய ஒரு காரணம். புதிய கப் காபி இல்லை.


3. உங்கள் சொந்த வகுப்புகளை உருவாக்குதல்

ஆனால் நீங்கள் நிரல் செய்ய கற்றுக் கொண்டிருப்பதால், உங்கள் சொந்த வகுப்புகளை உருவாக்க கற்றுக்கொள்வதன் மூலம் சிறியதாக தொடங்க வேண்டும்.

நிச்சயமாக, நீங்கள் ஏற்கனவே வகுப்புகளை உருவாக்கியுள்ளீர்கள், ஆனால் ஒரு நிரலில் என்ன வகுப்புகள் சேர்க்கப்பட வேண்டும், அவை எவ்வாறு பெயரிடப்பட வேண்டும் மற்றும் அவை என்ன முறைகளைக் கொண்டிருக்க வேண்டும் என்பதைப் புரிந்துகொள்ள நீங்கள் கற்றுக்கொள்ள வேண்டும். மற்றும் அவர்கள் ஒருவருக்கொருவர் எவ்வாறு தொடர்பு கொள்ள வேண்டும்.

நிறுவனங்களின் பட்டியல்

எங்கிருந்து தொடங்குவது என்று உங்களுக்குத் தெரியாவிட்டால், ஆரம்பத்தில் இருந்து தொடங்குங்கள்.

நீங்கள் முதலில் ஒரு நிரலை வடிவமைக்கத் தொடங்கும் போது, ​​நீங்கள் ஒரு துண்டு காகிதத்தை எடுத்து, நிரலில் இருக்க வேண்டிய நிறுவனங்களின் (பொருள்கள்) பட்டியலை எழுதலாம். பின்னர் ஒவ்வொரு நிறுவனமும் தனித்தனி வர்க்கம் என்ற கொள்கையின்படி குறியீட்டை எழுதவும்.

உதாரணமாக

நீங்கள் ஒரு சதுரங்க விளையாட்டை எழுத விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம். உங்களுக்கு பின்வரும் பொருட்கள் தேவைப்படும்: ஒரு சதுரங்கப் பலகை மற்றும் 6 வகையான செஸ் துண்டுகள். துண்டுகள் வெவ்வேறு வழிகளில் நகர்கின்றன மற்றும் வெவ்வேறு மதிப்புகளைக் கொண்டுள்ளன. அவை தனித்தனி வகுப்புகள் என்பது புரியும். உண்மையில், நீங்கள் முதலில் தொடங்கும் போது, ​​அதிக வகுப்புகள், சிறந்தது.

இரண்டு வகுப்புகளுக்குப் பதிலாக பத்து வகுப்புகள் எழுதும் புதிய புரோகிராமரை சந்திப்பது மிகவும் அரிது. பத்து வகுப்புகளை எழுதுவதற்குப் பதிலாக, தொடக்கநிலையாளர்கள் இரண்டு வகுப்புகள் அல்லது ஒருவேளை ஒன்றை எழுத விரும்புகிறார்கள். எனவே தயவு செய்து அதிக வகுப்புகளை எழுதுங்கள், எனது சக புரோகிராமர்களே. மேலும் உங்கள் குறியீடு உங்களைத் தவிர மற்ற அனைவருக்கும் தெளிவாகிவிடும் 😛

சதுரங்கம்

சதுரங்கத்திற்கு வகுப்புகள் எழுத முடிவு செய்கிறோம் என்று வைத்துக்கொள்வோம்: இந்த வகுப்புகள் எப்படி இருக்கும்?

சதுரங்கப் பலகை வெறும் 8 க்கு 8 வரிசையா? ஒரு வரிசைக்கான குறிப்பை உள்நாட்டில் சேமிக்கும் தனி வகுப்பை உருவாக்குவது நல்லது. "சதுரங்கப் பலகை" வகுப்பில் நீங்கள் நிறைய பயனுள்ள முறைகளைச் சேர்க்கலாம், எடுத்துக்காட்டாக, ஒரு குறிப்பிட்ட செல் காலியாக உள்ளதா அல்லது ஆக்கிரமிக்கப்பட்டுள்ளதா என்பதைச் சரிபார்க்க

பொதுவாக, நீங்கள் தொடங்கும் போது, ​​எப்போதும் இந்தக் கொள்கையால் வழிநடத்தப்பட வேண்டும்: ஒரு நிரலில் பல்வேறு நிறுவனங்கள் உள்ளன, மேலும் ஒரு நிறுவனம் ஒரு வகையைக் கொண்டுள்ளது. இந்த வகை வர்க்கம்.


4. நிலையான மாறிகள் மற்றும் முறைகள்

நிலையான மாறிகள் மற்றும் முறைகளைப் பயன்படுத்த மறக்காதீர்கள். சதுரங்கப் பலகையில் ஒரு சதுரங்கத் துண்டு மற்றொன்றுடன் தொடர்பு கொண்டால், உங்கள் குறியீட்டிற்கு முதல் மற்றும் இரண்டாவது துண்டுகள் மற்றும் சதுரங்கப் பலகையைப் பற்றிய குறிப்புகள் தேவைப்படும்.

நிரலில் எங்கிருந்தும் அணுகக்கூடிய நிலையான மாறிகள் பொதுவாக "எப்போதும் இருக்கும்" பொருள்களின் குறிப்புகளை தொடர்ந்து கடந்து செல்வதைத் தவிர்க்கப் பயன்படுகின்றன.

உதாரணமாக, இது போன்றது:

குறியீடு குறிப்பு
public class ChessBoard
{
   public static ChessBoard board = new ChessBoard();
   public ChessItem[][] cells = new ChessItem[8][8];
   ...
}

public class Game
{
   public static void main(String[] args)
   {
      var board = ChessBoard.board;
      board.cells[0][3] = new King(Color.WHITE);
      board.cells[0][4] = new Queen(Color.WHITE);
      ...
   }
}


ஒரு பொருளின் குறிப்பு ChessBoard.
8x8 இரு பரிமாண அணிவரிசை, நிலையான மாறி அல்ல.








துண்டுகளை பலகையில் சேர்க்கவும்.

அல்லது நிலையான மாறிக்கு பதிலாக, நீங்கள் ஒரு சிங்கிள்டன் பொருளை வழங்கும் முறையை உருவாக்கலாம். உதாரணமாக, இது போன்றது:

public class ChessBoard
{
   private static ChessBoard board = new ChessBoard();
   public static ChessBoard getBoard()
   {
      return board;
   }

   public ChessItem[][] cells = new ChessItem[8][8];
   ...
}

public class Game
{
   public static void main(String[] args)
   {
      var board = ChessBoard.getBoard();
      board.cells[0][3] = new King(Color.WHITE);
      board.cells[0][4] = new Queen(Color.WHITE);
      ...
   }
}