Junior
Proqramlaşdırma dillərində 'protected' giriş modifikatoru necə işləyir?
sobes.tech Süni İntellekt
AI-dan cavab
Giriş modifikatoru protected aşağıdakı hallarda sinif üzvünə (sahə, metod və ya xüsusiyyət) giriş imkanı verir:
- Bu üzvün elan olunduğu sinifdən.
- Törəmə siniflərdən (alt siniflər).
- Bəzi dillərdə (məsələn, Java) - eyni paketdəki bütün siniflərdən.
Dillərə görə tətbiq edilə bilmə:
- Java: Paket daxilində və hər hansı paketdəki törəmə siniflərdə mövcuddur.
- C#: Sinif daxilində və törəmə siniflərdə mövcuddur. Həmçinin
protected internalbirləşməsi də mövcuddur; bu, yığma daxilində və törəmə siniflərdə giriş imkanı verir (başqa yığmalardakı törəmə siniflər daxil olmaqla). - C++: Sinif daxilində və törəmə siniflərdə mövcuddur.
- Python: Qəti
protectedyoxdur. Qoruma üçün nəzərdə tutulmuş üzvlər adətən başlanğıcda tək alt xətt (_) ilə adlandırılır, bu bir konvensiyadır və sərt giriş məhdudiyyəti deyil.
Nümunə (Java):
class Parent {
protected int protectedField;
protected void protectedMethod() {
// ...
}
}
class Child extends Parent {
public void accessProtected() {
this.protectedField = 10; // Törəmə sinifdən giriş
this.protectedMethod(); // Törəmə sinifdən giriş
}
}
class AnotherClassInSamePackage {
public void accessProtected(Parent p) {
p.protectedField = 20; // Eyni paketdən giriş
p.protectedMethod(); // Eyni paketdən giriş
}
}
class AnotherClassInDifferentPackage {
// Birbaşa protected üzvlərə giriş yoxdur
// yalnız törəmə sinifdirsə
}
protected irsi həyata keçirmək üçün geniş istifadə olunur, bu da törəmə siniflərin valideyn sinifin funksionallığını genişləndirməsinə imkan verir və eyni zamanda onların daxili detalları xarici dünyadan gizləyir.