Referenční typy - třída
3. Deklarace třídy
3.4. Tělo třídy
Tělo třídy je uzavřeno ve složených závorkách. Tělo obsahuje deklaraci datových složek, metod, vlastností atd. Pro deklarace, které tvoří tělo třídy, budeme používat souhrnné označení složky. Pro každou ze složek třídy, tj. pro datové složky i metody musíme určit přístupová práva – modifikátory přístupu. Po definování úrovně přístupu pojmenujme datovou složku „S“ ve třídě „T“. V jazyku C# rozlišuje u složek následující modifikátory přístupu:
- public – tzv. veřejně přístupná datová složka S je dostupná všude, kde lze použít třídu T. O veřejně přístupných metodách hovoříme také jako o rozhraní třídy
- protected internal – složka S je dostupná z T a ze všech tříd, které jsou potomkem třídy T
- protected – tzv. chráněná složka S je dostupná pouze ve třídě T anebo u jejích potomků
- internal – tzv. interní složka S je dostupná pouze ze seskupení (například z nějaké dynamické knihovny – viz kapitola Seskupení)
- private – tzv. soukromá složka S je dostupná pouze uvnitř třídy T. Tento modifikátor přístupu je implicitní, tzn., že pokud neuvedeme žádný modifikátor přístupu, bude brán přístup jako soukromý
Identifikátory složek, které jsou public budeme uvozovat na začátku velkým písmenem (tento přístup je v angličtině označován jako „PascalCase“, protože byl poprvé použit v jazyce Pascal). Ostatní složky, které nejsou public budeme označovat malým písmenem.
V následující tabule jsou zobrazena přístupová práva u složek pro jednotlivé modifikátory přístupu - viz Tabulka 1. Slovo Ano znamená, že složka s odpovídajícím modifikátorem je dostupná v rámci téže třídy, v tomtéž seskupení, téhož potomka atd.
|
Modifikátor přístupu |
Třída |
Seskupení |
Potomci |
Ostatní |
|
public |
Ano |
Ano |
Ano |
Ano |
|
protected internal |
Ano |
Ano |
Ano |
Ne |
|
protected |
Ano |
Ne |
Ano |
Ne |
|
internal |
Ano |
Ano |
Ne |
Ne |
|
private |
Ano |
Ne |
Ne |
Ne |