ஒரு வகுப்பில் உள்ள ஒரு தனியார் சொத்தின் மதிப்பை அணுக, பொருள் சார்ந்த நிரலாக்கத்தில் இணைக்கும் கருத்தை நாம் புரிந்து கொள்ள வேண்டும். என்காப்சுலேஷன் என்பது ஒரு அடிப்படைக் கொள்கையாகும், இது பண்புகள் மற்றும் முறைகள் போன்ற வகுப்பு உறுப்பினர்களுக்கான அணுகலைக் கட்டுப்படுத்த அனுமதிக்கிறது. PHP இல், அணுகல் மாற்றிகளைப் பயன்படுத்துவதன் மூலம் நாம் இணைக்க முடியும்.
PHP இல், எங்களிடம் மூன்று அணுகல் மாற்றிகள் உள்ளன: பொது, பாதுகாக்கப்பட்ட மற்றும் தனிப்பட்ட. பொதுச் சொத்துக்கள் மற்றும் முறைகளை எங்கிருந்தும் அணுகலாம், அதே சமயம் பாதுகாக்கப்பட்ட பண்புகள் மற்றும் முறைகள் வகுப்பிற்குள் அல்லது அதன் துணைப்பிரிவுகளுக்குள் மட்டுமே அணுக முடியும். தனிப்பட்ட பண்புகள் மற்றும் முறைகள், மறுபுறம், அவை வரையறுக்கப்பட்ட வகுப்பிற்குள் மட்டுமே அணுக முடியும்.
ஒரு வகுப்பில் உள்ள தனியார் சொத்தின் மதிப்பை அணுக, நாங்கள் பொதுவாக கெட்டர் மற்றும் செட்டர் முறைகளைப் பயன்படுத்துகிறோம். ஒரு தனிப்பட்ட சொத்தின் மதிப்பை மீட்டெடுப்பதற்கு ஒரு கெட்டர் முறை பொறுப்பாகும், அதே நேரத்தில் ஒரு தனிப்பட்ட சொத்தின் மதிப்பைப் புதுப்பிக்க ஒரு செட்டர் முறை பயன்படுத்தப்படுகிறது. ஒரு உதாரணத்தைப் பார்ப்போம்:
php class MyClass { private $myPrivateProperty; public function getMyPrivateProperty() { return $this->myPrivateProperty; } public function setMyPrivateProperty($value) { $this->myPrivateProperty = $value; } } $obj = new MyClass(); $obj->setMyPrivateProperty('Hello, World!'); echo $obj->getMyPrivateProperty(); // Output: Hello, World!
மேலே உள்ள எடுத்துக்காட்டில், `$myPrivateProperty` என்ற தனிச் சொத்துடன் `MyClass` என்ற வகுப்பு உள்ளது. தனிப்பட்ட சொத்தின் மதிப்பை முறையே அணுகவும் மாற்றவும் பெறுபவர் மற்றும் செட்டர் முறைகளை (`getMyPrivateProperty` மற்றும் `setMyPrivateProperty`) வரையறுத்துள்ளோம்.
தனிப்பட்ட சொத்தை அணுக, வகுப்பின் (`$obj`) நிகழ்வை உருவாக்கி, மதிப்பை அமைக்க செட்டர் முறையை (`setMyPrivateProperty`) பயன்படுத்துகிறோம். பின்னர், மதிப்பை மீட்டெடுக்கவும், வெளியீட்டில் எதிரொலிக்கவும் பெறுபவர் முறையை (`getMyPrivateProperty`) பயன்படுத்துகிறோம்.
கெட்டர் மற்றும் செட்டர் முறைகளைப் பயன்படுத்துவதன் மூலம், தனியார் சொத்து எவ்வாறு அணுகப்படுகிறது மற்றும் மாற்றப்படுகிறது என்பதைக் கட்டுப்படுத்தலாம். சொத்து சரியாக அணுகப்படுவதையும் மாற்றியமைக்கப்படுவதையும் உறுதிப்படுத்த இந்த முறைகளுக்குள் கூடுதல் தர்க்கம் அல்லது சரிபார்ப்பைச் சேர்க்கலாம்.
தனிப்பட்ட சொத்துக்களை வகுப்பு நோக்கத்திற்கு வெளியே இருந்து நேரடியாக அணுகுவது பரிந்துரைக்கப்படுவதில்லை, ஏனெனில் இது இணைக்கும் கொள்கையை மீறுகிறது. என்காப்சுலேஷன் அதன் உள் நிலைக்கு அணுகலைக் கட்டுப்படுத்துவதன் மூலம் வகுப்பின் ஒருமைப்பாடு மற்றும் நிலைத்தன்மையை பராமரிக்க உதவுகிறது.
ஒரு வகுப்பில் உள்ள தனியார் சொத்தின் மதிப்பை அணுக, நாம் பெறுதல் மற்றும் செட்டர் முறைகளைப் பயன்படுத்தலாம். இந்த முறைகள் தனிப்பட்ட சொத்துக்களுக்கு கட்டுப்படுத்தப்பட்ட அணுகலை வழங்குகின்றன மற்றும் அவற்றின் மதிப்புகளை மீட்டெடுக்கவும் மாற்றவும் அனுமதிக்கின்றன. இணைத்தல் மற்றும் அணுகல் மாற்றிகளைப் பயன்படுத்துவதன் மூலம், எங்கள் வகுப்புகளின் ஒருமைப்பாடு மற்றும் நிலைத்தன்மையை உறுதி செய்யலாம்.
தொடர்பான பிற சமீபத்திய கேள்விகள் மற்றும் பதில்கள் PHP இல் வகுப்புகள் மற்றும் பொருள்கள்:
- ஒரு வகுப்பில் உள்ள பண்புகளை அணுகுவதற்கும் மாற்றுவதற்கும் பரிந்துரைக்கப்பட்ட அணுகுமுறை என்ன?
- ஒரு வகுப்பில் உள்ள தனியார் சொத்தின் மதிப்பை எவ்வாறு புதுப்பிக்க முடியும்?
- ஒரு வகுப்பில் பெறுபவர்கள் மற்றும் செட்டர்களைப் பயன்படுத்துவதன் நன்மை என்ன?
- ஒரு வகுப்பில் சொத்துக்களை தனிப்பட்டதாக்குவதன் நோக்கம் என்ன?
- PHP வகுப்புகளில் கன்ஸ்ட்ரக்டர் செயல்பாடு என்றால் என்ன, அதன் நோக்கம் என்ன?
- PHP வகுப்புகளில் உள்ள முறைகள் என்ன மற்றும் அவற்றின் தெரிவுநிலையை நாம் எவ்வாறு வரையறுக்கலாம்?
- PHP வகுப்புகளில் உள்ள பண்புகள் என்ன, அவற்றின் தெரிவுநிலையை நாம் எவ்வாறு வரையறுக்கலாம்?
- PHP இல் உள்ள வகுப்பிலிருந்து ஒரு பொருளை எவ்வாறு உருவாக்குவது?
- PHP இல் ஒரு வகுப்பு என்றால் என்ன, அது எந்த நோக்கத்திற்காக உதவுகிறது?