ஆப்ஜெக்ட்-ஓரியண்டட் புரோகிராமிங் அல்லது ஓஓபிக்கள் என அழைக்கப்படுகிறது, இது ஜாவாவின் முக்கிய தூண்களில் ஒன்றாகும், இது அதன் சக்தியையும் பயன்பாட்டின் எளிமையையும் மேம்படுத்துகிறது. ஒரு தொழில்முறை ஜாவா டெவலப்பராக மாற, நீங்கள் பல்வேறுவற்றில் குறைபாடற்ற கட்டுப்பாட்டைப் பெற வேண்டும் போன்ற , சுருக்கம் , என்காப்ஸுலேஷன் மற்றும் பாலிமார்பிசம். இந்த கட்டுரையின் ஊடகம் மூலம், OOP களின் மிக முக்கியமான கருத்துகளில் ஒன்றான ஜாவாவில் என்காப்ஸுலேஷன் மற்றும் அது எவ்வாறு அடையப்படுகிறது என்பதற்கான முழுமையான பார்வையை நான் உங்களுக்கு தருகிறேன்.
தலைப்புகள் கீழே, நான் இந்த கட்டுரையில் விவாதிக்கிறேன்:
காட்சி ஸ்டுடியோவுடன் தொடங்குவது
- என்காப்ஸுலேஷன் அறிமுகம்
- ஜாவாவில் நமக்கு ஏன் என்காப்ஸுலேஷன் தேவை?
- என்காப்ஸுலேஷனின் நன்மைகள்
- ஒரு நிகழ்நேர உதாரணம்
இந்த பதிவு மூலம் நீங்கள் செல்லலாம் எடுத்துக்காட்டுகளுடன் விரிவான முறையில் தலைப்புகளைப் புரிந்து கொள்ளலாம்.
என்காப்ஸுலேஷன் அறிமுகம்
என்காப்ஸுலேஷன் என்பது ஒரு யூனிட்டின் கீழ் தரவை மடக்குவதைக் குறிக்கிறது. குறியீட்டையும் அது கையாளும் தரவையும் பிணைக்கும் வழிமுறை இது. இணைத்தல் பற்றி சிந்திக்க மற்றொரு வழி, இது ஒரு பாதுகாப்பு கவசமாகும், இது இந்த கேடயத்திற்கு வெளியே உள்ள குறியீட்டால் தரவை அணுகுவதைத் தடுக்கிறது. இதில், a இன் மாறிகள் அல்லது தரவு வேறு எந்த வகுப்பிலிருந்தும் மறைக்கப்பட்டுள்ளது, மேலும் அவை அறிவிக்கப்பட்ட சொந்த வகுப்பின் எந்தவொரு உறுப்பினர் செயல்பாட்டின் மூலமும் மட்டுமே அணுக முடியும்.
இப்போது, ஒரு மருத்துவ காப்ஸ்யூலின் உதாரணத்தை எடுத்துக் கொள்வோம், அங்கு மருந்து எப்போதும் காப்ஸ்யூலுக்குள் பாதுகாப்பாக இருக்கும். இதேபோல், இணைத்தல் மூலம், ஒரு வகுப்பின் முறைகள் மற்றும் மாறிகள் நன்கு மறைக்கப்பட்டு பாதுகாப்பாக உள்ளன.
ஜாவாவில் என்காப்ஸுலேஷன் மூலம் இதை அடையலாம்:
- ஒரு வகுப்பின் மாறிகளை தனிப்பட்டதாக அறிவித்தல்.
- மாறிகள் மதிப்புகளை மாற்றவும் பார்க்கவும் பொது செட்டர் மற்றும் கெட்டர் முறைகளை வழங்குதல்.
இப்போது, குறியாக்கத்தைப் பற்றி நன்கு புரிந்துகொள்ள குறியீட்டைப் பார்ப்போம்:
பொது வகுப்பு மாணவர் {தனியார் சரம் பெயர் பொது சரம் getName () {திரும்பப் பெயர்} பொது வெற்றிட செட் பெயர் (சரம் பெயர்) {this.name = பெயர்}} வகுப்பு சோதனை {பொது நிலையான வெற்றிட மெயின் (சரம் [] ஆர்க்ஸ்) {மாணவர் கள் = புதிய மாணவர் () s.setName ('ஹாரி பாட்டர்') System.out.println (s.getName ())}}
மேலே உள்ள குறியீட்டில் நீங்கள் காணக்கூடியது போல, நான் ஒரு வகுப்பு மாணவனை உருவாக்கியுள்ளேன், அதில் ஒரு தனியுரிமை உள்ளது பெயர் . அடுத்து, ஒரு மாணவரின் பெயரைப் பெறுவதற்கும் அமைப்பதற்கும் ஒரு கெட்டர் மற்றும் செட்டரை உருவாக்கியுள்ளேன். இந்த முறைகளின் உதவியுடன், பெயர் மாறியை அணுக விரும்பும் எந்த வகுப்பும் இந்த பெறுநர் மற்றும் செட்டர் முறைகளைப் பயன்படுத்தி செய்ய வேண்டும்.
இப்போது மேலும் ஒரு எடுத்துக்காட்டைப் பார்ப்போம், மேலும் என்காப்ஸுலேஷனை ஆழமாகப் புரிந்துகொள்வோம். இந்த எடுத்துக்காட்டில், கார் வகுப்பில் பெயர் மற்றும் டாப்ஸ்பீட் என்ற இரண்டு துறைகள் உள்ளன. இங்கே, இரண்டும் தனிப்பட்டவை என அறிவிக்கப்படுகின்றன, அதாவது அவை வகுப்பிற்கு வெளியே நேரடியாக அணுக முடியாது. GetName, setName, setTopSpeed போன்ற சில கெட்டர் மற்றும் செட்டர் முறைகள் எங்களிடம் உள்ளன, அவை பொது என அறிவிக்கப்படுகின்றன. இந்த முறைகள் “வெளியாட்களுக்கு” வெளிப்படும், மேலும் கார் பொருளிலிருந்து தரவை மாற்றவும் மீட்டெடுக்கவும் பயன்படுத்தலாம். வாகனத்தின் மேல் வேகத்தை அமைக்க எங்களுக்கு ஒரு முறையும், அதிகபட்ச வேக மதிப்பை MPH அல்லது KMHt இல் மீட்டெடுக்க இரண்டு கெட்டர் முறைகளும் உள்ளன. எனவே அடிப்படையில், இதுதான் இணைத்தல் செய்கிறது - இது செயல்படுத்தலை மறைக்கிறது மற்றும் நாம் விரும்பும் மதிப்புகளை நமக்கு வழங்குகிறது. இப்போது, கீழே உள்ள குறியீட்டைப் பார்ப்போம்.
தொகுப்பு எடுரேகா பொது வகுப்பு கார் {தனியார் சரம் பெயர் தனியார் இரட்டை டாப்ஸ்பீட் பொது கார் ()}} பொது சரம் getName () {திரும்பப் பெயர்} பொது வெற்றிட செட் பெயர் (சரம் பெயர்) {this.name = பெயர்} பொது வெற்றிட செட் டாப்ஸ்பீட் (இரட்டை வேக எம்.பி.எச்) {டாப்ஸ்பீட் = speedMPH} பொது இரட்டை getTopSpeedMPH () top திரும்ப டாப்ஸ்பீட்} பொது இரட்டை getTopSpeedKMH () {திரும்ப டாப்ஸ்பீட் * 1.609344}}
இங்கே, பிரதான நிரல் ஒரு குறிப்பிட்ட பெயருடன் ஒரு கார் பொருளை உருவாக்கி, இந்த நிகழ்விற்கான உயர் வேகத்தை சேமிக்க செட்டர் முறையைப் பயன்படுத்துகிறது. இதைச் செய்வதன் மூலம், கார் வகுப்பில் வேகம் எவ்வாறு மாற்றப்படுகிறது என்பதைப் பற்றி கவலைப்படாமல் MPH அல்லது KMH இல் வேகத்தை எளிதாகப் பெறலாம்.
தொகுப்பு எடுரேகா பொது வகுப்பு எடுத்துக்காட்டு {பொது நிலையான வெற்றிட மெயின் (சரம் ஆர்க்ஸ் []) கார் கார் = புதிய கார் () car.setName ('முஸ்டாங் ஜிடி 4.8-லிட்டர் வி 8') car.setTopSpeed (201) System.out.println (கார். getName () + 'MPH இல் அதிக வேகம்' + car.getTopSpeedMPH ()) System.out.println (car.getName () + 'KMH இல் அதிக வேகம்' + car.getTopSpeedKMH ())
எஸ்o, ஜாவாவில் என்காப்ஸுலேஷன் அடைய முடியும். இப்போது, மேலும் நகர்ந்து, நமக்கு ஏன் என்காப்ஸுலேஷன் தேவை என்று பார்ப்போம்.
ஜாவாவில் நமக்கு ஏன் என்காப்ஸுலேஷன் தேவை?
ஜாவாவில் என்காப்ஸுலேஷன் அவசியம், ஏனெனில்:
- இது தரவு அணுகலுக்கான வழியைக் கட்டுப்படுத்துகிறது
- தேவைகளின் அடிப்படையில் குறியீட்டை மாற்றுகிறது
- ஒரு தளர்வான ஜோடியை அடைய எங்களுக்கு உதவுகிறது
- எங்கள் பயன்பாட்டின் எளிமையை அடைகிறது
- நிரலில் உள்ள வேறு எந்த செயல்பாடுகளுக்கும் அல்லது குறியீட்டிற்கும் இடையூறு விளைவிக்காமல் குறியீட்டின் பகுதியை மாற்றவும் இது உங்களை அனுமதிக்கிறது
இப்போது, இணைப்பதன் அவசியத்தை விளக்கும் ஒரு சிறிய உதாரணத்தைக் கருத்தில் கொள்வோம்.
வகுப்பு மாணவர் {int id சரம் பெயர்} பொது வகுப்பு டெமோ {பொது நிலையான வெற்றிட மெயின் (சரம் [] args) {மாணவர் s = புதிய மாணவர் () s.id = 0 s.name = '' s.name = பூஜ்ய}}
மேலே உள்ள எடுத்துக்காட்டில், இது அணுகல் மாற்றியமைப்பாளராக இரண்டு நிகழ்வு மாறிகளைக் கொண்டுள்ளது. எனவே ஒரே தொகுப்பில் உள்ள எந்தவொரு வகுப்பும் அந்த வகுப்பின் ஒரு பொருளை உருவாக்குவதன் மூலம் அந்த மாறிகளின் மதிப்புகளை ஒதுக்கலாம் மற்றும் மாற்றலாம். எனவே, மாணவர் வகுப்பில் சேமிக்கப்பட்ட மதிப்புகளை மாறிகள் எனக் கட்டுப்படுத்த முடியாது. இந்த சிக்கலை தீர்க்க, நாங்கள் மாணவர் வகுப்பை இணைக்கிறோம்.
எனவே, என்காப்ஸுலேஷனின் தேவையை சித்தரிக்கும் சில சுட்டிகள் இவை. இப்போது, இணைப்பதன் சில நன்மைகளைப் பார்ப்போம்.
என்காப்ஸுலேஷனின் நன்மைகள்
- தரவு மறைத்தல்: இங்கே, ஒரு பயனருக்கு வகுப்பின் உள் செயல்படுத்தல் பற்றி எதுவும் தெரியாது. வர்க்கம் எவ்வாறு மாறிகளில் மதிப்புகளை சேமிக்கிறது என்பதை பயனர் கூட அறிந்திருக்க மாட்டார். நாம் மதிப்புகளை ஒரு செட்டர் முறைக்கு அனுப்புகிறோம் என்பதையும், அந்த மதிப்புடன் மாறிகள் துவக்கப்படுவதையும் மட்டுமே அவர் / அவள் அறிந்திருப்பார்கள்.
- அதிகரித்த வளைந்து கொடுக்கும் தன்மை: இங்கே, வகுப்பின் மாறிகள் எங்கள் தேவையைப் பொறுத்து படிக்க-மட்டும் அல்லது எழுத-மட்டுமே செய்ய முடியும். நீங்கள் மாறிகளை படிக்க-மட்டும் செய்ய விரும்பினால், setName () போன்ற செட்டர் முறைகளை நாங்கள் தவிர்க்க வேண்டும்,setAge() போன்றவை அல்லது மாறிகளை எழுதுவதற்கு மட்டுமே செய்ய விரும்பினால், மேலே உள்ள நிரலிலிருந்து getName (), getAge () போன்ற பெறுதல் முறைகளை நாம் தவிர்க்க வேண்டும்.
- மறுபயன்பாடு: இது மறு பயன்பாட்டினை மேம்படுத்துகிறது மற்றும் புதிய தேவைகளுடன் மாற்ற எளிதானது.
இப்போது இணைப்பின் அடிப்படைகளை நாங்கள் புரிந்துகொண்டுள்ளோம், இந்த கட்டுரையின் கடைசி தலைப்பிற்குள் நுழைந்து, நிகழ்நேர உதாரணத்தின் உதவியுடன் என்காப்ஸுலேஷனை விரிவாக புரிந்துகொள்வோம்.
ஒரு சரம் மலைப்பாம்பை எவ்வாறு மாற்றுவது
என்காப்ஸுலேஷனின் நிகழ்நேர எடுத்துக்காட்டு
ஒரு தொலைக்காட்சி எடுத்துக்காட்டைக் கருத்தில் கொண்டு, உள் செயல்படுத்தல் விவரங்கள் வெளி வகுப்பிலிருந்து எவ்வாறு மறைக்கப்படுகின்றன என்பதைப் புரிந்துகொள்வோம்.அடிப்படையில், இந்த எடுத்துக்காட்டில், நாங்கள் உள் குறியீடு தரவை மறைக்கிறோம், அதாவது வெளி உலகத்திலிருந்து சுற்றுகள் கவர் மூலம் மறைக்கிறோம். இப்போது உள்ளே , அணுகல் மாற்றிகளின் உதவியுடன் இதை அடையலாம். அணுகல் மாற்றியமைப்பாளர்கள் ஒரு வகுப்பின் அணுகல் அல்லது அளவை, கட்டமைப்பாளர்கள் மாறிகள் போன்றவற்றை அமைக்கின்றனர். கீழேயுள்ள குறியீட்டில் நீங்கள் காணக்கூடியது போல, வகுப்பின் அணுகல் அளவைக் கட்டுப்படுத்த நான் தனியார் அணுகல் மாற்றியைப் பயன்படுத்தினேன். தனிப்பட்டதாக அறிவிக்கப்பட்ட மாறிகள் தொலைக்காட்சி வகுப்பிற்குள் மட்டுமே அணுக முடியும்.
பொது வகுப்பு தொலைக்காட்சி {தனியார் இரட்டை அகலம் தனியார் இரட்டை உயரம் தனியார் இரட்டை திரையிடல் தனியார் முழு அதிகபட்சம் அச்சு எண்ணின் தொகுதி தனியார் பூலியன் சக்தி பொது தொலைக்காட்சி (இரட்டை அகலம், இரட்டை உயரம், இரட்டை திரை அளவு) {this.width this.height this.screenSize = ScreenSize} public double channelTuning (int channel) {சுவிட்ச் (சேனல்) {case1: return 34.56 case2: return 54.89 case3: return 73.89 case1: return 94.98} return 0} public int குறைவு வால்யூம் () {if (0volume) தொகுதி ++ திரும்பும் தொகுதி}} வகுப்பு சோதனை {பொது நிலையான void main (String args []) {தொலைக்காட்சி t = புதிய தொலைக்காட்சி (11.5,7,9) t.powerSwitch () t.channelTuning (2) t.decreaseVolume () t.increaseVolume () தொலைக்காட்சி. // மாறி தனிப்பட்டதாக இருப்பதால் பிழையை வீசுகிறது மற்றும் வகுப்பிற்கு வெளியே அணுக முடியாது}}
மேலே உள்ள எடுத்துக்காட்டில், எல்லா மாறிகளையும் தனியார் மற்றும் முறைகள், கட்டமைப்பாளர்கள் மற்றும் வர்க்கம் பொது என அறிவித்துள்ளேன். இங்கே, கட்டமைப்பாளர்கள், முறைகளை வகுப்பிற்கு வெளியே அணுகலாம். நான் உருவாக்கும் போதுஒரு பொருள்தொலைக்காட்சி வகுப்பில், இது வகுப்பில் இருக்கும் முறைகள் மற்றும் கட்டமைப்பாளர்களை அணுக முடியும், அதேசமயம் தனியார் அணுகல் மாற்றியுடன் அறிவிக்கப்பட்ட மாறிகள் மறைக்கப்படுகின்றன. அதனால்தான் நீங்கள் அணுக முயற்சிக்கும்போது அகல மாறி மேலே உள்ள எடுத்துக்காட்டில், அது வீசுகிறதுஒரு தவறு. உள் செயல்படுத்தல் விவரங்கள் மற்ற வகுப்புகளிலிருந்து மறைக்கப்படுவது அப்படித்தான். ஜாவாவில் என்காப்ஸுலேஷன் அடையப்படுவது இதுதான்.
இது “ஜாவாவில் என்காப்ஸுலேஷன்” குறித்த இந்த கட்டுரையின் முடிவிற்கு நம்மைக் கொண்டுவருகிறது. நம்பிக்கை, நீங்கள் அதை தகவலறிந்ததாகக் கண்டீர்கள், அது உங்கள் அறிவுக்கு மதிப்பு சேர்க்க உதவியது. ஜாவா பற்றி மேலும் அறிய நீங்கள் விரும்பினால், நீங்கள் குறிப்பிடலாம்
'ஜாவாவில் என்காப்ஸுலேஷன் என்றால் என்ன' என்பதை இப்போது நீங்கள் புரிந்து கொண்டீர்கள், பாருங்கள் உலகெங்கிலும் பரவியுள்ள 250,000 க்கும் மேற்பட்ட திருப்தியான கற்றவர்களின் வலைப்பின்னலுடன் நம்பகமான ஆன்லைன் கற்றல் நிறுவனமான எடுரேகாவால். ஜுவா டெவலப்பராக விரும்பும் மாணவர்கள் மற்றும் நிபுணர்களுக்காக எடுரேகாவின் ஜாவா ஜே 2 இஇ மற்றும் எஸ்ஓஏ பயிற்சி மற்றும் சான்றிதழ் பாடநெறி வடிவமைக்கப்பட்டுள்ளது. ஜாவா புரோகிராமிங்கில் உங்களுக்கு ஒரு தொடக்கத்தைத் தருவதற்கும், ஹைபர்னேட் & ஸ்பிரிங் போன்ற பல்வேறு ஜாவா கட்டமைப்புகளுடன் கோர் மற்றும் மேம்பட்ட ஜாவா கருத்தாக்கங்களுக்கும் பயிற்சி அளிப்பதற்காக இந்த பாடநெறி வடிவமைக்கப்பட்டுள்ளது.
எங்களுக்கு ஒரு கேள்வி கிடைத்ததா? தயவுசெய்து இந்த “ஜாவாவில் என்காப்ஸுலேஷன்” வலைப்பதிவின் கருத்துகள் பிரிவில் குறிப்பிடவும், விரைவில் நாங்கள் உங்களைத் தொடர்புகொள்வோம்.