V programování je enum, zkratka pro výčtový typ, uživatelem definovaný datový typ skládající se ze sady pojmenovaných hodnot nazývaných enumerátory. Místo použití celého čísla k reprezentaci sady hodnot se místo toho použije typ s omezenou sadou hodnot. Použití výčtu zvyšuje úroveň abstrakce a umožňuje programátorovi soustředit se na význam hodnoty namísto jejího úložiště a přístupnosti. To zase snižuje chyby.
Přemýšlejte o čtyřech oblecích v balíčku karetních klubů, diamantů, srdcí a piky jako o čtyřech enumerátorech patřících k vyjmenovanému typu s názvem oblek. Pokud je proměnná V deklarována jako její datový typ, lze jí přiřadit kteroukoli z těchto čtyř hodnot (kluby, diamanty, srdce a piky).
Hodnoty a proměnné výčtu jsou implementovány jako bitové řetězce pevné délky, které jsou kompatibilní ve formátu a velikosti s nějakým celočíselným typem. V teorii typů jsou výčty považovány za označené svazky typů jednotek. Mezi programovací jazyky, které používají výčty, patří Pascal, Java a C #.
Enum výhody
Výčty poskytují následující výhody:
- Jsou spíše konstantní než číslo, což zvyšuje čitelnost zdrojového kódu.
- Poskytují bezpečnost typu kompilace a zabraňují porovnávání konstant v různých výčtech. Argument funkce, návratový typ, člen třídy nebo místní proměnná lze deklarovat jako typ výčtu a kompilátor vynutí typovou bezpečnost.
- Výčet seskupuje věci do sady.
- V Javě lze výčet použít jako singleton. Typ výčtu jednoho prvku je považován za jeden z nejlepších způsobů implementace singletonu.