sp。Smalltalk和Ruby等面向对象的语言拥有代码块，而Eiffel拥有agent。基本思想是具象化(封装为对象)独立于任何其他封闭概念的函数(例如将对象函数与封闭对象的任何直接知识解耦)。作为头等函数的一种形式，函数作为对象的更进一步知识参见头等函数。例如，在面向对象的语言中，当对象的一个函数被引用为一个对象（无需了解包含他的宿主对象）时，新的函数对象可以传递，存储，稍后调用。（功能对象交给的）接收对象可以在自己方便的时候安全地执行(调用)所包含的函数，无需了解包含他的宿主对象。透过这种方式，