アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
素人的な質問 (スコア:1)
--- (´-`)。oO(平和な日常は私を鈍くする) ---
素人的な回答 (スコア:5, 参考になる)
単一のメソッドと、複数あるいは単数のパラメータを
持つオブジェクトを*簡潔に*定義、作成できる機能
といえます。
クロージャは継続等の概念とは違って、クロージャで
しか実現できない機能ではありません。
なので上で述べた以上でもそれ以下でもないのです
が、簡潔に定義できるという点がポイントになります。
プログラマは泥臭いコードを好みませんから。(…よね?)
たとえばコールバック関数を登録する場面で、クロー
ジャを用いて簡潔に書くこともできますし、簡潔である
という点を利用して、共通部分を括り出してクロージャ
でまとめることもできます。
同等のことをオブジェクトで実装しようと思えば、結構
グダグダ書く必要があります。少なくてもクロージャの
ように簡潔には記述できません。
#間違ってたらエロい人指摘お願いします。
Re:素人的な回答 (スコア:0)
>単一のメソッドと、複数あるいは単数のパラメータを
>持つオブジェクトを*簡潔に*定義、作成できる機能
>といえます。
どう見ても「オブジェクトを定義」してるようには思えないが。
プリミティブ変数同様、「オブジェクト指向に変なのが混ざった」というのが率直な印象。
Re:素人的な回答 (スコア:3, 興味深い)
クロージャはオブジェクトに書き下せます。簡単にできるので
やってみてください。そうすれば書いてあることがわかると思います。
>プリミティブ変数同様、「オブジェクト指向に変なのが混ざった」というのが率直な印象。
もともと関数型言語からの概念なので、その印象は正解かもしれません。
しかし、使いこなせば有用な概念ではあります。その有用性をJavaは選択した、ということでしょう。