1. 程式人生 > >oc學習之setter方法及getter方法,簡單的命名規則

oc學習之setter方法及getter方法,簡單的命名規則

#import <Foundation/Foundation.h>

@interface  Student :NSObject//類名的首字母大寫,以後每個單詞的首字母大寫

{

//例項變數的定義,命名通常以_開頭,第一個單詞的首字母小寫,以後每個單詞的首字母大寫

    NSString *_name;//字串類

    NSInteger _age;//long

}

//構造方法(初始化方法)

// id 類似於c語言中的 void*

//- 說明該方法是一個物件方法(例項方法)

//返回值是泛型的物件

//方法名:init

- (id) init;

//setter方法:修改例項變數的值的方法,有一個傳入引數name,無返回值,方法名是 setName;

-(void) setName:(NSString *)name andAge:(NSInteger)age;(and可省略)//冒號前後不能有空格

//匿名方法去掉andAge

//getter方法:讀取例項變數的值

-(NSString *)name;

-(NSInteger)age;

//類方法

@end

//方法的命名:第一個單詞的首字母小寫,以後每一個單詞的首字母大寫“駝峰規則”,例項變數相同

@implementation Student

-(id)init//初始化物件的方法,構造方法

{

self = [super init];//self表示呼叫者,指向呼叫者的物件指標變數

//super是呼叫父類方法的關鍵字

    ifself

){

        _name = @"小華"

        _age = 12;

    }

returnself;

}

//setter方法訪問修改例項變數的值

-(void)setName:(NSString *)name

{

    _name = name;

}

-(void)setAge:(NSInteger)age

{

    _age = age;

}

-(void)setName:(NSString *)name andAge:(NSInteger)age//可省略andage

{

    _name = name;

    _age = age;

}

//getter方法訪問讀取例項變數的值

-(NSString *)name

{

    return  _name;

}

-(NSInteger)age

{

    return _age;

}

//+類方法,給類呼叫的方法,通常用類名呼叫

//測試當前類是否可用

+(void)testStudent

{

    Student *stu = [[Student alloc] init];

    [stu setName:@"小飛" andAge:25];

    NSlog(@"name = %@ age = %li", [stu name], [stu age]);//NSLog 列印OC中的字串物件

}

int main(int argc, const *argv[])

{

@autoreleasepool{

        Student *stu = [[Student alloc] init];//Student類方法alloc方法建立一個物件

        NSLog(@"name = %@, age = %li", [stu name], [stu age]);

        /*

         name = 小華,age = 12

         */

//[stu setName:@"小明“];

//[stu setAge:20];

        [stu setName:@"小明” andAge:20];//@"小明"表示字串物件

         NSLog(@"name = %@, age = %li", [stu name], [stu age]);//%@列印物件的佔位符,列印long型別的 佔位符

         [Student teststudent];

    }

}

//簡單類的建立 setter