クラスを更に考える (8/8)
作成:2011-02-09 09:21
更新:2011-11-13 16:34
更新:2011-11-13 16:34
■プロパティを使ってみよう
では、下のリストにプロパティの利用例をあげておきましょう。先程、@publicを使ってインスタンス変数を使えるようにしましたが、これをプロパティ利用の形に書き換えてみます。
インスタンス変数にアクセスするメソッドもなくすっきりした形ですが、mainでの処理を見てみると、メソッドを呼び出しているのがわかります。
生成されるメソッド名は、以下のような形になることがわかります。インスタンス変数にアクセスするメソッドもなくすっきりした形ですが、mainでの処理を見てみると、メソッドを呼び出しているのがわかります。
MyTestClass* obj = [MyTestClass myTestClass];
[obj setMyMsg:@"This is First Object!!"];
値を取得する――プロパティ名と同じ名前のメソッド
値を変更する――プロパティ名の前に「set」とつけたメソッド
myMsgインスタンス変数なら、「myMsg」「setMyMsg」というメソッドになるわけです。
メソッド名が気に入らなければ、setter,getter属性で名前を指定しておくこともできます。例えば、以下のような形です。
@property (retain,getter=getMyMessage,setter=setMyMessage:)
NSString* myMsg;
――さあ、これでだいぶインスタンス変数の利用もスマートに行えるようになりました。