|
[最近のツッコミ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| [全文検索] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ☆基本的に個人的なリンク集、偶に思い出したように文章を綴る日記。 ☆JAVA・Ruby・RELAX NGネタ中心です。O:原文,P:ポップアップ辞書,t:和訳 ☆[category]:カテゴリフィルタ画面 ☆[blogger]:Blogger出張所。徒然。 ☆[kuro]:個人的ライブラリ開発プロジェクト「Kuro Project」サイト。 ☆[kuro-pj]Kuro Project開発日誌。 ☆[ruby]Ruby学習日誌。 ☆[vox]:VOX出張所。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rubyにはある。純然たるオブジェクト指向言語ではメソッドもオブジェクトと扱う必要があるらしい。
手続きには実体がないのだから、手続き(=メソッド)をオブジェクトとして扱うのは如何なものか?
オブジェクト指向的に手続きもオブジェクトとして扱えるほうがすっきりするというのはなんとなく
わかるんですが...。
メソッドをオブジェクトとして扱う場合、ガーベージコレクタVMにおいてどのように扱うのかが問題のような気がします。
VM化するRuby2.0もまだ影も形もありませんし...。
Javaにメソッドオブジェクトを導入する場合、下位互換性を維持できるのか?
維持できなければ、"メソッドオブジェクト"はJavaには導入されない...。
"メソッドオブジェクト=Methodクラスのオブジェクト"とのこと。言われてみれば当たり前なんですが...。
Javaに導入される場合、全てのメソッドが対象となるのではなく、Methodクラスを継承した
メソッドオブジェクトが従来のメソッドとは別に定義できるようにすれば、つまり
従来のメソッドとは異なるメソッドオブジェクト用構文を導入すれば、互換性の問題はクリア
されるような気がします...。全てのメソッドをメソッドオブジェクトとして扱う言語と比較すると
違和感バリバリですが。