Objective-C インスタンス変数,アクセサメソッド,ゲッター,セッター 【初級編 第6回】

この記事は2012年9月29日に書かれたものです。内容が古い可能性がありますのでご注意ください。


<h1Objective-C インスタンス変数,アクセサメソッド,ゲッター,セッター 【初級編 第6回】</h1?
前回のコードにまたまた追加します。過去の「Bmi.h」や「Bmi.m」はそのままにしておき、新たに個人のデータを
表すクラス「Person」を作ることにします。
Person.hファイル

#import &lt;objc/Object.h&gt;

@interface Person:Object
{
        //属性を表す
        double weight;
        double height;
}
//アクセサ
-(double)height;
-(void)setHeight:(double)personHeight;
-(double)weight;
-(void)setWeight:(double)personWeight;
@end

Person.mファイル

#import &quot;Person.h&quot;

@implementation Person
    -(double)weight{
        return weight;
    }
    -(void)setWeight:(double)personWeight{
        weight = personWeight;
    }
    -(double)height{
        return height;
    }
    -(void)setHeight:(double)personHeight{
        height = personHeight;
    }
@end

main.mファイル

#import &lt;objc/Object.h&gt;
#import &quot;Bmi.h&quot;
#import &quot;Person.h&quot;

int main(void){
    id mine = [Person alloc];
    [mine setWeight:55];
    [mine setHeight:1.72];

    printf(&quot;%2.1fn&quot;,[Bmi calcBmi:[mine weight] height:[mine height]]);
    printf(&quot;%2.1fn&quot;,[Bmi calcProperWeight:[mine height]]);
    [mine free];
    return 0;
}

今回初めて登場したものは、まず4行目~8行目のところでしょう。このクラスの属性を表すための変数を用意しました。
属性とはそのオブジェクトの持っているデータのことになります。幅や高さといったものですね。
当たり前のことながら人それぞれ体重や身長は違うものです。
こういった情報はそれぞれのインスタンスごとに割り当てるものであり、この属性を表すための変数を
インスタンス変数といいます。
インスタンス変数は「@interface」ディレクティブの次にある「{」からはじまり「}」までの間に定義します。
今回はとりあえず体重と身長を加えてみました。

ページ:

1

2
  • このエントリーをはてなブックマークに追加

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

PAGE TOP