[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 12341] Re: ズームイン Java(6/10) の予習について



こんばんは遠藤です。

TAKAHASHI,Toru wrote:
> ネストクラスについて、著者はとくに無名クラスの使用に否定的です。
> 僕個人はAWT/Swingのリスナーの実装には無名クラスが適していると
> 思っていますが、皆さんいかがでしょう?

私も無名クラスが適していると思っています。
無名クラスはとても便利なシンタックスシュガーだと思います。

> Javaの無名クラスについては真のクロージャとは言えないとかコードが長くな
> るとかの異論もあるようですが、

Rubyにクロージャーがあるのが便利かと聞かれれば
とても便利だと思いますが、
Javaに真のクロージャーが必要かどうかといえば
Javaの言語設計にあまりなじまないような気がするので
無名クラスでクロージャ的な使い方でよいのではないかと思っています。
Javaの無名クラスが真のクロージャーでないという主張自体はその通りかと。

昨年のJavaOne Tokyoではたしか
Javaで将来的にサポートするかもしれないものの一つとして
クロージャーが挙げられていたと思いますが、
Javaの思想に合うかどうかがも大事とも言われていたと思います。

> p.148で「無名クラスは全く再利用ができません」と断言していますが、

このあたりの本文の説明は、言い過ぎなように思えます。

著者の主張は
言語のシンタックス上、クラスとして宣言されたものは、
すべて再利用可能でなければならない
と言っているように思えますが

クラスの特性や意味を無視して
実装言語のシンタックスだけで再利用の単位を決めることは
あまり現実的とは思えないです。


-- 
// Y. Endoh