Junior — Middle
Obyekt yönümlü proqramlaşdırmada private və protected giriş modifikatorları arasında nə fərq var?
sobes.tech Süni İntellekt
AI-dan cavab
Obyekt yönümlü proqramlaşdırmada (C# nümunəsi ilə) giriş modifikatorları private və protected, sinif üzvlərinin görünürlük səviyyəsində fərqlənir:
-
private — sinif üzvü yalnız sinif daxilində əlçatandır. Hər hansı bir alt sinif və ya digər sinif ona daxil ola bilməz.
-
protected — sinif üzvü, sinif daxilində və onun bütün alt siniflərində (miras alanlar) əlçatandır, hətta onlar başqa ad məkanında olsa belə.
Misal:
class BaseClass
{
private int privateField = 1;
protected int protectedField = 2;
void Show()
{
Console.WriteLine(privateField); // Mövcuddur
Console.WriteLine(protectedField); // Mövcuddur
}
}
class DerivedClass : BaseClass
{
void ShowDerived()
{
// Console.WriteLine(privateField); // Xəta: privateField əlçatan deyil
Console.WriteLine(protectedField); // Mövcuddur
}
}
Beləliklə, protected, private ilə müqayisədə görünürlük sahəsini genişləndirir və miras alanların əsas sinfinin qorunan üzvləri ilə işləməsinə imkan verir.