Junior — Middle
Koja je razlika između modifikatora pristupa private i protected u objektno-orijentisanom programiranju?
sobes.tech АИ
Одговор од АИ
U objektno-orijentisanom programiranju (na primeru C#) modifikatori pristupa private i protected razlikuju se u nivou vidljivosti članova klase:
-
private — član klase je dostupan samo unutar same klase. Ni podklase, ni druge klase ne mogu da mu pristupe.
-
protected — član klase je dostupan unutar same klase i u svim njenim podklasama (naslednicima), čak i ako se nalaze u drugom prostoru imena.
Primer:
class BaseClass
{
private int privateField = 1;
protected int protectedField = 2;
void Show()
{
Console.WriteLine(privateField); // Dostupno
Console.WriteLine(protectedField); // Dostupno
}
}
class DerivedClass : BaseClass
{
void ShowDerived()
{
// Console.WriteLine(privateField); // Greška: privateField nije dostupno
Console.WriteLine(protectedField); // Dostupno
}
}
Tako, protected proširuje opseg vidljivosti u poređenju sa private, omogućavajući naslednicima da rade sa zaštićenim članovima osnovne klase.