クラスを作る! (6/7)
作成:2011-02-07 11:09
更新:2011-02-07 11:14
更新:2011-02-07 11:14
■メッセージの送信について
それにしても、わかりにくいのは「クラスに用意されているメソッドの呼び出し方です。先程のallocなどもそうですし、MyTestClassに定義したメソッドを呼び出すのも、こんな具合になっていました。
Objective-Cでは、メソッドの呼び出しは「メッセージ」と呼ばれるものを送信して行います。メッセージの送信先を「レシーバ」、そのセレクタに贈るメッセージの内容を「セレクタ」といいます。
例えば、[obj setMessage:@"This is First Object!!"];というのは、objというレシーバにたいして、setMessageというセレクタに@"This is First Object!!"という値をつけてメッセージを送っている、ということになります。[obj printMessage];であれば、objレシーバに、printMessageというセレクタを呼び出すメッセージを送っているわけです。このメッセージである[obj printMessage];といったものを「メッセージ式」と呼びます。
こんな具合に「何に向けて」「どういうものを送信するか」ということを考えてメッセージ式を組み立てて実行していくわけです。すると、レシーバーに向けてメッセージが送られ、セレクタによってどのメソッドを呼び出すのかが識別され、見つかったメソッドが実行される、というわけです。
こんな具合に、Objective-Cのクラスは、「メソッドの定義の仕方」と「インスタンスへのメッセージの送り方」の2つがポイントとなることがわかります。この2つをしっかりと覚え、メソッドを自由に呼び出せるようになること、これが「クラス利用」の第一歩、といってよいでしょう。――まだまだわからない点はありますが、まずは「メッセージを送ってメソッドをう呼び出す」ということが確実にできるようになりましょう。
[obj setMessage:Objective-Cでは、クラスやインスタンスにあるメソッドを呼び出す場合は、[]を使って以下のような形で記述をします。(変数は、インスタンスが設定されている変数と考えてください)
@"This is First Object!!"];
[obj printMessage];
[変数 キーワード]こんな具合に、「呼び出す対象となるインスタンス」「呼び出すメソッドのキーワードや引数」といったものを順に[]内に書いていくのです。
[変数 キーワード:値]
Objective-Cでは、メソッドの呼び出しは「メッセージ」と呼ばれるものを送信して行います。メッセージの送信先を「レシーバ」、そのセレクタに贈るメッセージの内容を「セレクタ」といいます。
例えば、[obj setMessage:@"This is First Object!!"];というのは、objというレシーバにたいして、setMessageというセレクタに@"This is First Object!!"という値をつけてメッセージを送っている、ということになります。[obj printMessage];であれば、objレシーバに、printMessageというセレクタを呼び出すメッセージを送っているわけです。このメッセージである[obj printMessage];といったものを「メッセージ式」と呼びます。
こんな具合に「何に向けて」「どういうものを送信するか」ということを考えてメッセージ式を組み立てて実行していくわけです。すると、レシーバーに向けてメッセージが送られ、セレクタによってどのメソッドを呼び出すのかが識別され、見つかったメソッドが実行される、というわけです。
こんな具合に、Objective-Cのクラスは、「メソッドの定義の仕方」と「インスタンスへのメッセージの送り方」の2つがポイントとなることがわかります。この2つをしっかりと覚え、メソッドを自由に呼び出せるようになること、これが「クラス利用」の第一歩、といってよいでしょう。――まだまだわからない点はありますが、まずは「メッセージを送ってメソッドをう呼び出す」ということが確実にできるようになりましょう。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
※関連コンテンツ
「初心者のためのObjective-Cプログラミング入門」に戻る