此範例程式共分成三區段,

@interface區段, 描述類別及組成的資料與方法

@implement區段, 類別之物件所儲存的實體變數, 也包含@interface區段的方法之實作

program區段, 用來完成程式欲達成的目的

 

#import <Foundation/Foundation.h>

//---interface section---//

@interface Fraction : NSObject //父類別

/*定義運作形態與方法, 可被用於類別之物件運作 都寫在@interface區段*/

/*-(void)print 前方的減號表示該方法為實體方法(instance method)*/

/*若前方為加號表示該方法為類別方法(class method)*/

-(void) print;                              //print方法宣告

-(void) setNumerator: (int) n;     // 設定物件內的實體變數

-(void) setDenominator: (int) d;  // 設定物件內的實體變數

@end

 //---implementation section---//

/*@implementation區段定義method之執行, 以及類別物件之資料成員(實體變數)*/

@implementation Fraction

{

    int numerator;

    int denominator;

} 

-(void) print 

{   NSLog(@"%i/%i", numerator, denominator );  } //print方法實作

-(void) setNumerator: (int) n

{    numerator = n;   } //接收參數n,並指定給numerator實體變數

-(void) setDenominator: (int) d

{   denominator = d;   } //接收參數n,並指定給denominator實體變數

@end

 //---programming section---//

int main(int argc, constchar * argv[]) {

    @autoreleasepool {

        Fraction *myFraction;  //定義myFraction變數, myFraction是Fraction形態的物件

        myFraction = [Fractionalloc];  //產生一個Fraction物件, 並配置記憶體給該物件使用

        myFraction = [myFraction init];  //類別產生的實體加以初始化

        /*以上三行可用 Fraction *myFraction =[[Fraction alloc]init]取代*/

        [myFraction setNumerator: 1];

        [myFraction setDenominator: 3];

        [myFraction print];

    }

    return0;

}


arrow
arrow
    文章標籤
    objective c
    全站熱搜

    Will 發表在 痞客邦 留言(0) 人氣()