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是呼叫父類方法的關鍵字
if(self
_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