セレクターとオブジェクトを指定したイベント処理
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/04 03:18 UTC 版)
「Smalltalk」の記事における「セレクターとオブジェクトを指定したイベント処理」の解説
イベントハンドラーを定義する方法として、Smalltalkでは次のようにセレクターと、レシーバーとなるオブジェクトを指定する方法が一般的である。 | view controller |view := Morph new.controller := FileControlHandler withOwnerView: view."#click:イベントが発生すると、controllerに対し#open:を使ったメッセージを送る。"viewhandleron:#click:send:#open:to:controller. 同様にイベントハンドラーを指定する別の方法としては、ブロックを指定する方法が考えられる。しかし、イベントハンドラーにブロックを使う方法は、セレクターとオブジェクトを指定する方法のようにinspectだけでブロックを抱えたオブジェクトがどんな処理を実行するか判断できないうえ、ほとんどの環境はブロックの直列化に対応しておらず直列化もできなくなってしまうため、Smalltalkの文化においては避けるべきとされる。 このセレクターとオブジェクトを指定したイベント処理の方法は、Objective-Cの文化にも引き継がれておりCocoa等のライブラリーにて頻繁に目にすることができる。
※この「セレクターとオブジェクトを指定したイベント処理」の解説は、「Smalltalk」の解説の一部です。
「セレクターとオブジェクトを指定したイベント処理」を含む「Smalltalk」の記事については、「Smalltalk」の概要を参照ください。
- セレクターとオブジェクトを指定したイベント処理のページへのリンク