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

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads