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 internalkombinasyonu 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
protectederiş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.