Typ pierwszoklasowy
Z Wikipedii, wolnej encyklopedii
Remove ads
Z Wikipedii, wolnej encyklopedii
W językach programowania typ pierwszoklasowy (ang. first-class type), jak również obiekt pierwszoklasowy (ang. first-class object) czy ogólniej jednostka pierwszej kategorii (ang. first-class citizen) jest konstruktem służącym do przechowywania danych, na którym możemy wykonywać takie same operacje, jak na danych innych, wbudowanych typów, takich jak np. liczby czy ciągi znaków.
Obiekt typu pierwszoklasowego ma więc następujące właściwości:
Wobec powyższych musi mieć takie same właściwości, jak dane typów wbudowanych[1].
W językach silnie obiektowo zorientowanych, takich jak Python, każda klasa wartości jest typem pierwszoklasowym (liczby, klasy, łańcuchy znaków, listy, funkcje) implementowanym na bazie obiektowego systemu typów. Ciekawym przykładem są również dialekty języka Lisp, a także inne języki homoikoniczne (np. Prolog, SNOBOL czy Rebol), gdzie jednostkami pierwszej kategorii są nawet wyrażenia kodu źródłowego. Otwiera to drogę do rozszerzania języków o nowe konstrukcje i budowania zagnieżdżonych interpreterów języków dziedzinowych.
Jeżeli w danym języku funkcje są jednostkami pierwszej kategorii (występuje tzw. typ funkcyjny), można w nim definiować funkcje wyższego rzędu (operujące na innych funkcjach). Jest to cecha języków funkcyjnych[2].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.