Objective-C

メソッド呼びだし

C++とは異なり、オブジェクトのメソッド呼びだしには新たな構文が導入されている。メソッド呼びだしは実行時のメッセージパッシングであり、その時渡されるメッセージ値をセレクタという。特徴的なのはSmalltalk同様キーワード引数形式をとることで、セレクタ名と引数値が交互に並んだ形態になる。なおSmalltalkにはあるカスケード式(一つのオブジェクトに続けてメッセージを送る)はない。
// メッセージの送信
// 単項メッセージ
[receiver msg];
// 引数付きメッセージ。この場合「msg:with:」でセレクタ一つ
val = [receiver msg: arg1 with: arg2];
// メッセージの入れ子
val = [obj1 msg: [obj2 msg]];

戻る