Hermetyzacja i modyfikatory dostępu

Hermetyzacja i modyfikatory dostępu
AA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Witam, ucząc się C# doszedłem do tematu hermetyzacji. Wszędzie można znaleźć jak modyfikatory (private, public,protected, internal,protected internal) działają na pola/zmienne klasy oraz na metody.
Jednak nie zauważyłem aby gdzieś było wytłumaczone jakich modyfikatorów można używać i do czego służą te przed słowem kluczowym class,
np.public static class Auto.
Wytłumaczy mi ktoś jakie modyfikatory mogę stosować przed tym słowem kluczowym? (pewnie te same jak do metod i pól ale wolę się upewnić)
Jeżeli przed class jest brak modyfikatora czyli jest domyślnie private, a pola i metody tej klasy są public to czy różni się to czymś jak by przed class stał inny modyfikator?

T9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 329
1

Domyślnie klasy są internal czyli widać je tylko w projekcie w którym zostały stworzone, a nie tak jak metody private. Klasy i struktury mogą być private/protected jeśli piszesz w klasę w klasie. Takie coś może mieć miejsce jak piszesz własną złożoną strukturę danych i potrzebujesz tajnej klasy to tym czasowego grupowania danych, ale to bardzo rzadko mam miejsce. Jeśli klasa jest internal a pole public, to modyfikator dostępu klasy ma pierwszeństwo i pole jest efektywnie internal. Może wydawać sie to dziwne ale jest wygodne bo można zmienić dostępność klasy szybko w jednym miejscu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.