では、作成されたクラスに追記をして、簡単な機能を組み込んでみましょう。クラスには、先に触れましたが「
インスタンス変数」と「
メソッド」というものが用意できます。これらは、それぞれ以下のようなものです。
インスタンス変数――クラスは、クラスのまま使うことはあまりありません。クラスをコピーして「
インスタンス」というものを作り、それを利用します。作成されたそれぞれの
インスタンスごとに値を保管しておくために用意されるのがインスタンス変数です。
メソッド――
メソッドは、そのクラスに用意しておく処理を記述するためのものです。まぁ、「クラスの中に入れておける関数定義」と考えればいいでしょう。ただし、C言語の関数とは、定義の仕方がかなり違っているので注意が必要です。
「
インスタンス」というのが登場しましたが、これはこのあとで実際に利用してみますので今は深く考えなくてかまいません。――では、この2つの要素をもった簡単なクラスを作ってみることにしましょう。
下のリスト欄を見てください。これが、今回のサンプルです。ここでは以下の4つの要素を新たに追加してみました。それぞれがどういう形で定義されているのか、見ていきましょう。
・インスタンス変数message――テキストを保管しておくためのものです。
・メソッドsetMessage――インスタンス変数
messageにテキストを設定します。
message――インスタンス変数
messageを取り出します。
printMessage――インスタンス変数
messageを出力します。
インスタンス変数の定義
これは、
@interfaceの
{}内に記述をします。変数のタイプと変数名を記述する、普通の変数宣言とほぼ同じですね。
ただし、ここでは「
NSStrng*」というのがタイプに指定されています。
NSStringというものの
ポインタですね。この
NSStringというのは、前にもちらっと触れましたが、
Objective-Cにおけるテキストの基本となるクラスです。
Objective-Cでは、テキストを扱うときは、この
NSStringを利用するのが基本です。
Objective-Cには、こうしたクラスがたくさん用意されています。が、そうしたクラスを利用するときは、必ず「
ポインタ」を利用します。つまり「
NSString message」ではなく、「
NSString* message」とするのが基本なのです。多くのクラスのメソッドなども、すべてポインタを渡すのが前提で設計されています。