関数オブジェクト
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/04/08 18:38 UTC 版)
関数オブジェクト(かんすうオブジェクト、英: function object)は、プログラミング言語において、関数(サブルーチンまたはプロシージャ)を、オブジェクトとしたものである。手続きオブジェクトとも言う(プロシージャ=手続き)[要出典]。なお、ここでのオブジェクトの語は、いわゆるオブジェクト指向のそれに限らず、「第一級オブジェクト」という語におけるのと同じ、メモリ上に領域を確保されたもの、といった意味である。関数が第一級オブジェクトである場合は特に第一級関数と言う。
注釈
- ^ 匿名クラスの構文であれば、実際にはインタフェースだけでなく任意の具象クラスや抽象クラスを継承することもできるが、Javaでは実装(クラス)の多重継承ができず、クラスを使うと自由度が低下するため、一般的に関数オブジェクトとして使われるのはインタフェースである。
出典
- ^ C++ FAQ [33.15] What's the difference between a functionoid and a functor?
- ^ イマドキのJava徹底入門(13) ラムダ式の入力パラメータにvarを使用する | TECH+(テックプラス)
- ^ スクリプトを記述する上では簡単なように設計されているが、内部ではわりとコストが掛かる。ブロックはエスケープしないため軽い処理で扱うことができるし、元々イテレータのためのものだったため、繰り返し処理のために使われることからも、軽いほうが望ましい。それがオブジェクトになれば、メソッドの返り値などになり得るために、重い処理となるためである。
固有名詞の分類
Weblioに収録されているすべての辞書から関数オブジェクトを検索する場合は、下記のリンクをクリックしてください。
全ての辞書から関数オブジェクトを検索
- 関数オブジェクトのページへのリンク