Объект первого класса
В статье не хватает ссылок на источники (см. рекомендации по поиску). |
Объектами первого класса ("first-class citizens") в контексте конкретного языка программирования называются сущности, которые могут быть переданы как параметр, возвращены из функции, присвоены переменной.[1]
Термин был впервые использован в контексте “функции как объекты первого класса” в середине 1960-х.[2]
Определение
Объект называют "объектом первого класса" когда он:
- может быть сохранен в переменной
- может быть передан в функцию как параметр
- может быть возвращен из функции как результат
- может быть создан в Run-time
- has intrinsic identity (independent of any given name)
Термин "объект" используется здесь в общем смысле, и не ограничивается объектами языка программирования. Так значения простейших типов данных, например integer и float, во многих языках являются "объектами первого класса".
Примеры
В C и C++ нельзя создавать функции во время исполнения программы, поэтому функции не являются объектами первого класса в этих языках. В Smalltalk и JavaScript функции (методы) и классы являются объектами первого класса. Поскольку операторы (+, -) в Smalltalk суть методы, они также являются объектами первого класса.
Ссылки
- ↑ Scott, Michael. Programming Language Pragmatics. — San Francisco, CA : Morgan Kaufmann Publishers, 2006.
- ↑ Rod Burstall, "Christopher Strachey—Understanding Programming Languages", Higher-Order and Symbolic Computation 13:52 (2000)
int main()
{
printf("Hi");
return 0;
}
| Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |