聲明變量乔夯;命名要規(guī)范 實(shí)現(xiàn)變量
-
方法聲明 方法實(shí)現(xiàn)
- 1 .變量聲明
@interface Person : NSObject{
//@protected //默認(rèn)司抱,受保護(hù)
@public //公開豌拙,如果想要->訪問,需要公開
//@private // 私有
//*因?yàn)?name是對象 結(jié)構(gòu)體指針;
//_name 命名規(guī)范灌诅,[成員變量]的命名規(guī)范加下劃線
NSString *_name;
// 整形
//typedef long NSInteger;基本類型,不需要*
NSInteger _age;
float _height;
- 2 .方法聲明
方法類型分為+ -:
1.+ 類方法(靜態(tài)方法)使用類名調(diào)用 如:[ Person alloc]
-類方法 使用對象調(diào)用 如:[Person22 init]
2. 聲明方法
方法類型(返回值類型)方法名 如:
+ (void)run;
-(void)sayHello;
3. getter/setter方法
getter 與成員變量名稱相同(不要下劃線)含末,返回值類型:成員變量類型
-(NSString *) name;
-(NSInteger) age;
-(float) height;
setter 以set開頭猜拾,名字與變量名相同;沒有返回值佣盒;參數(shù):與類成員變量一致挎袜,名稱一致
有參數(shù)的方法定義格式:
方法類型(返回值類型)方法名:(參數(shù)1類型)參數(shù)名稱
-(void)setName:(NSString *)name;
-(void)setAge:(NSInteger)age;
4.自定義init方法
-(instancetype) initWithName:(NSString *)name;
-(instancetype) initWithName:(NSString *)name height:(float)height;
- 變量實(shí)現(xiàn)
@implementation Person // 實(shí)現(xiàn)
+ (void)run{
NSLog(@"跑起來了");
}
- (void)sayHello{
NSLog(@"我%ld",_age );
}
//pragma mark - 實(shí)現(xiàn)getter/setter
-(NSString *)name{
return _name;
}
-(void)setName:(NSString *)name{
_name = name;
}
- (NSInteger)age{
return _age;
}
-(void)setAge:(NSInteger)age{
_age = age;
}
//pragma marks --初始化變量
-(instancetype) initWithName:(NSString *)name{
self = [super init];
if(self){
//初始化成員變量
_name = name;
_age = 0;
_height = 0.5;
}
return self;
}
-(instancetype) initWithName:(NSString *)name height:(float)height{
self = [super init];
if(self){
//初始化成員變量
_name = name;
_age = 0;
_height = height;
}
return self;
}
-(float) height
{
return _height;
}
- main 調(diào)用
alloc分配調(diào)用
Person *person = [Person alloc];
初始化內(nèi)存
person = [person init];
整合在一起
Person *person22 = [[Person alloc] init];