ஜாவாவில் அணுகல் மாற்றிகளைப் புரிந்துகொள்வது: பொது, பாதுகாக்கப்பட்ட, தொகுப்பு-தனியார் மற்றும் தனிப்பட்டது

Java

ஜாவா அணுகல் மாற்றிகளின் கண்ணோட்டம்

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

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

கட்டளை விளக்கம்
protected உறுப்பினரை அதன் சொந்த தொகுப்பு மற்றும் துணைப்பிரிவுகள் மூலம் அணுக அனுமதிக்கிறது.
package-private இயல்புநிலை அணுகல் நிலை; அதன் சொந்த தொகுப்பிற்குள் மட்டுமே அணுகலை அனுமதிக்கிறது.
@Override ஒரு முறை ஒரு சூப்பர் கிளாஸில் ஒரு முறையை மேலெழுதுவதை நோக்கமாகக் கொண்டுள்ளது என்பதைக் குறிக்கிறது.
public class வேறு எந்த வகுப்பிலிருந்தும் அணுகக்கூடிய வகுப்பை வரையறுக்கிறது.
private உறுப்பினருக்கான அணுகலை அதன் சொந்த வகுப்பிற்குள் மட்டுமே கட்டுப்படுத்துகிறது.
extends ஒரு வர்க்கம் ஒரு சூப்பர் கிளாஸிலிருந்து பெறுகிறது என்பதைக் குறிக்கிறது.
System.out.println() கன்சோலுக்கு உரையை வெளியிடுகிறது.
public void வேறு எந்த வகுப்பிலிருந்தும் அணுகக்கூடிய ஒரு முறையை வரையறுக்கிறது மற்றும் மதிப்பை வழங்காது.

ஜாவாவில் அணுகல் மாற்றிகளின் விளக்கம்

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

இரண்டாவது ஸ்கிரிப்ட்டில், அணுகல் மாற்றிகள் துணைப்பிரிவு நடத்தையை எவ்வாறு பாதிக்கின்றன என்பதைக் காட்ட பரம்பரை பயன்படுத்தப்படுகிறது. தி வகுப்பு வெவ்வேறு அணுகல் நிலைகளைக் கொண்ட முறைகளை வரையறுக்கிறது: , , package-private, மற்றும் . தி வகுப்பு நீண்டுள்ளது மற்றும் மேலெழுகிறது public, , மற்றும் முறைகள். தி இந்த முறைகள் சூப்பர் கிளாஸில் உள்ள முறைகளை மீறுகின்றன என்பதைக் குறிக்க சிறுகுறிப்பு பயன்படுத்தப்படுகிறது. என்பதை கவனிக்கவும் private இந்த முறையை துணை வகுப்பில் மேலெழுத முடியாது, ஏனெனில் இது அதன் சொந்த வகுப்பிற்கு வெளியே அணுக முடியாது. இந்த எடுத்துக்காட்டுகள் முறை அணுகல் மற்றும் பரம்பரை மீதான அணுகல் மாற்றியமைப்பாளர்களின் தாக்கத்தை விளக்குகிறது, ஒவ்வொரு மாற்றியமைப்பாளராலும் விதிக்கப்படும் நோக்கம் மற்றும் வரம்புகளைப் புரிந்துகொள்ள உதவுகிறது.

ஜாவாவில் அணுகல் மாற்றிகளின் விரிவான விளக்கம்

ஜாவா நிரலாக்க எடுத்துக்காட்டு

public class AccessModifiersExample {
    public String publicField = "Public Field";
    protected String protectedField = "Protected Field";
    String packagePrivateField = "Package-Private Field";
    private String privateField = "Private Field";
    
    public String getPublicField() {
        return publicField;
    }
    
    protected String getProtectedField() {
        return protectedField;
    }
    
    String getPackagePrivateField() {
        return packagePrivateField;
    }
    
    private String getPrivateField() {
        return privateField;
    }
}

பரம்பரையில் அணுகல் மாற்றிகளைப் பயன்படுத்துதல்

ஜாவா புரோகிராமிங் உதாரணம் பரம்பரை

public class Parent {
    public void publicMethod() {
        System.out.println("Public method in Parent");
    }
    
    protected void protectedMethod() {
        System.out.println("Protected method in Parent");
    }
    
    void packagePrivateMethod() {
        System.out.println("Package-private method in Parent");
    }
    
    private void privateMethod() {
        System.out.println("Private method in Parent");
    }
}
 
public class Child extends Parent {
    @Override
    public void publicMethod() {
        System.out.println("Public method in Child");
    }
    
    @Override
    protected void protectedMethod() {
        System.out.println("Protected method in Child");
    }
    
    @Override
    void packagePrivateMethod() {
        System.out.println("Package-private method in Child");
    }
}

பயனுள்ள இணைப்பிற்கு அணுகல் மாற்றிகளைப் பயன்படுத்துதல்

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

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

  1. ஜாவாவில் மிகவும் கட்டுப்படுத்தப்பட்ட அணுகல் மாற்றி என்ன?
  2. மிகவும் கட்டுப்படுத்தப்பட்ட அணுகல் மாற்றியமைப்பானது , இது ஒரே வகுப்பிற்குள் மட்டுமே அணுகலை அனுமதிக்கிறது.
  3. நான் எப்போது பயன்படுத்த வேண்டும் அணுகல் மாற்றியா?
  4. பயன்படுத்தவும் ஒரே தொகுப்பிற்குள் மற்றும் துணைப்பிரிவுகள் மூலம் உறுப்பினருக்கான அணுகலை நீங்கள் அனுமதிக்க விரும்பினால்.
  5. என்ன செய்கிறது அணுகல் நிலை அர்த்தம்?
  6. (இயல்புநிலை, மாற்றியமைப்பாளர் இல்லை) என்பது உறுப்பினர் அதன் சொந்த தொகுப்பில் மட்டுமே அணுக முடியும்.
  7. முடியுமா அ முறை மீறப்படுமா?
  8. இல்லை அதன் சொந்த வகுப்பிற்கு வெளியே அணுக முடியாததால், முறையை மேலெழுத முடியாது.
  9. என்ன வித்தியாசம் மற்றும் ?
  10. எந்த வகுப்பிலிருந்தும் அணுகலை அனுமதிக்கிறது ஒரே தொகுப்பு மற்றும் துணைப்பிரிவுகள் மூலம் அணுகலை அனுமதிக்கிறது.
  11. ஒரு அணுகல் சாத்தியமா வேறு தொகுப்பிலிருந்து உறுப்பினரா?
  12. ஆம், ஆனால் துணைப்பிரிவு மூலம் பரம்பரை மூலம் அணுகினால் மட்டுமே.
  13. எப்போது பயன்படுத்த வேண்டும் மாற்றியா?
  14. பயன்படுத்தவும் உறுப்பினரை வேறு எந்த வகுப்பிலிருந்தும் அணுக வேண்டும் என நீங்கள் விரும்பினால்.
  15. எப்படி செய்கிறது இணைக்க உதவுமா?
  16. ஒரே வகுப்பிற்குள் அணுகலை கட்டுப்படுத்துகிறது, உள் நிலை மற்றும் செயல்படுத்தல் விவரங்களை மறைக்க உதவுகிறது.
  17. முடியும் உறுப்பினர்களை துணைப்பிரிவுகள் மூலம் அணுக முடியுமா?
  18. ஆம், ஆனால் துணைப்பிரிவு ஒரே தொகுப்பில் இருந்தால் மட்டுமே.

ஜாவா அணுகல் மாற்றிகளின் பயன்பாட்டை மூடுதல்

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