Sobes.tech
Junior

Programlama dillerinde 'protected' erişim belirteci nasıl çalışır?

sobes.tech yapay zeka

AI'dan gelen yanıt

Erişim belirteci protected, bir sınıf üyesine (alan, yöntem veya özellik) şu durumlarda erişim sağlar:

  • Bu üyenin bildirildiği sınıfın kendisinden.
  • Türemiş sınıflardan (alt sınıflar).
  • Bazı dillerde (örneğin, Java) - aynı paket içindeki tüm sınıflardan.

Diller bazında uygulanabilirlik:

  • Java: Paket içinde ve herhangi bir paketten türemiş sınıflarda erişilebilir.
  • C#: Sınıf içinde ve türemiş sınıflarda erişilebilir. Ayrıca protected internal kombinasyonu da vardır; bu, derleme içinde ve türemiş sınıflarda erişim sağlar (başka derlemelerdeki türemiş sınıflar dahil).
  • C++: Sınıf içinde ve türemiş sınıflarda erişilebilir.
  • Python: Katı bir protected erişimi yoktur. Koruma amaçlı üyeler genellikle başında tek bir alt çizgi (_) ile isimlendirilir; bu bir konvansiyondur ve katı erişim kısıtlaması değildir.

Örnek (Java):

class Parent {
    protected int protectedField;

    protected void protectedMethod() {
        // ...
    }
}

class Child extends Parent {
    public void accessProtected() {
        this.protectedField = 10; // Türemiş sınıftan erişim
        this.protectedMethod(); // Türemiş sınıftan erişim
    }
}

class AnotherClassInSamePackage {
    public void accessProtected(Parent p) {
        p.protectedField = 20; // Aynı paketten erişim
        p.protectedMethod();   // Aynı paketten erişim
    }
}

class AnotherClassInDifferentPackage {
    // Doğrudan protected üyelerine erişimi yok
    // alt sınıf değilse
}

protected, kalıtım uygulaması için yaygın olarak kullanılır, böylece alt sınıflar ebeveyn sınıfın işlevselliğini genişletebilir, aynı zamanda iç detayları dış dünyadan gizleyebilir.