第一类对象 First-class object

第一类对象 First-class object

作者:LAMP小白  点击:4968  发布日期:2013-01-02 14:34:00  返回列表

转至维基百科


第一类对象(英语:First-class object)在计算机科学中指可以在执行期创造并作为参数传递给其他函数或存入一个变量的实体。将一个实体变为第一类对象的过程叫做“物件化”(Reification

“第一类对象”这一名称最早由Christopher Strachey1960年代发明,原称“第一类公民”(First-class citizen),意指函数可作为电脑语言中的第一类公民。英文中也称“First-class entity”或“First-class value”。

[编辑] 定义第一类对象不一定是面向对象程式设计所指的物件,而可以指任何程式中的实体。一般第一类对象所特有的特性为:

可以被存入变量或其他结构

可以被作为参数传递给其他函数

可以被作为函数的返回值

可以在执行期创造,而无需完全在设计期全部写出

即使没有被系结至某一名称,也可以存在

[编辑] 范例绝大多数语言中,数值与基础型别都是第一类对象,然而不同语言中对函数的区别很大,例如C语言与C++中的函数不是第一类对象,因为在这些语言中函数不能在执行期创造,而必须在设计时全部写好。相比之下,Scheme中的函数是第一类对象,因为可以用lambda语句来创造匿名函数并作为第一类对象来操作。



上一篇:GET传递JSON的问题 下一篇:快递查询API
0