Objekt první kategorie
From Wikipedia, the free encyclopedia
Remove ads
Objekt první kategorie, objekt první třídy, First-Class Objekt (FCO), anglicky first-class object, FCO, first-class citizen, je v daném programovacím jazyce entita, se kterou lze pracovat jako s běžnými proměnnými v tomto jazyce; obvykle to znamená, že ji lze mimo jiné dynamicky vytvářet, rušit, předávat jako parametr funkce a vracet jako návratovou hodnotu z funkce.
Vlastnosti
V závislosti na jazyce to může znamenat, že objekt první kategorie:
- lze přiřazovat (uložit do proměnné)
- lze vyjádřit jako anonymní literál
- může být součástí jiných datových struktur
- má svou vnitřní identitu (nezávislou na jeho názvu)
- lze porovnávat na rovnost s jinými entitami
- lze předávat jako parametr procedury/funkce
- lze vracet jako výsledek funkce
- lze konstruovat za běhu
- lze tisknout
- lze číst
- může být přenášen mezi distribuovanými procesy
- může být uložen mimo běžící procesy
Například má-li být datový typ seznam objektem první kategorie, musí být možné uložit seznam do proměnné, zadat ho jako vstupní parametr do procedury, sestrojit proceduru, která bude seznam vracet, 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 objektem první kategorie.
Ideálně by proměnné všech datových typů měly 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ě.
Remove ads
Příklady
Funkce v C++ nejsou objekty první kategorie, ale ukazatele na funkce ano.
Třídy v C++ nejsou objekty první kategorie, ale jejich instance ano.
Odkazy
Externí odkazy
- What are "first-class" objects? na stackoverflow.org
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads