First-class objekt
First-Class Objekt (FCO) je perzistentní objekt, který má vlastní identitu, tedy lze se na něj odkazovat. Díky tomu lze takové objekty předávat jako parametry, používat jako návratové hodnoty funkcí nebo přiřazovat do proměnných. Typicky jsou to všechny objekty uložené aplikací.
Objektu určitého datového typu v nějakém programovacím jazyce náleží označení first class objekt („objekt první kategorie“), když platí, že může být použit jako:
- hodnota proměnné
- vstup procedury
- hodnota vracená procedurou
- člen datového agregátu
- anonymní (nepojmenovaný)
Například má-li datový typ seznam být seznamem první kategorie, musí být možné uložit seznam do proměnné, zadat ho jako vstupní parametr do procedury, sestrojit proceduru, která bude vracet seznam, zadat seznam jako prvek jiného seznamu a také pracovat v programu s konkrétním seznamem, který nemá žádné jméno. V jazyce, který toto splňuje, je seznam seznamem první kategorie.
Ideálně by všechna data měla být first class, tj. být první kategorie. Je přitom důležité si uvědomovat, že označení first class náleží k datovému typu, nikoli ke konkrétní hodnotě.