2012-01-24 8 views
0

可能性の重複:
Help with understanding a function object or functor in Java誰かがFunctionオブジェクトの内容をJavaで説明することはできますか?

私は現在、マーク・アレンワイスによる著書「Javaを使用して解決するデータ構造と問題」を読んでいますとファンクタの説明は私には明確ではありません。

1)なぜそれらを使用しますか? 2)まさに彼らは何をしていますか?

私がこの本から得ている唯一のことは、特定のオブジェクトにcompareToメソッドがない場合、関数オブジェクトを使用して1つのha-haを与えることです。

答えて

2

Functorsは関数をオブジェクトとしてカプセル化します。あなたはそれらを他のオブジェクトに渡して、物事を完了させることができます。

Think Gang of Four Command Pattern

0

オブジェクトにComparableが実装されていない場合は、同じ効果を達成するためにComparatorの実装を記述することができます。 Comparatorは、実際には、約functors in Javaというウィキペディアのarctileで与えられた例です。オブジェクトがComparableではない場合は、関連するComparatorの実装を提供することによって、依然としてCollections.sort(Collection, Comparator)によってソートすることができます。

インターフェイスComparatorはファンクタの例です。その実装は、他のオブジェクトやメソッドを使用して何かを行うために渡すことができます(この場合、2つのオブジェクトを比較します)。

関連する問題