声明变量;命名要规范 实现变量
-
方法声明 方法实现
- 1 .变量声明
@interface Person : NSObject{
//@protected //默认,受保护
@public //公开,如果想要->访问,需要公开
//@private // 私有
//*因为 name是对象 结构体指针;
//_name 命名规范,[成员变量]的命名规范加下划线
NSString *_name;
// 整形
//typedef long NSInteger;基本类型,不需要*
NSInteger _age;
float _height;
- 2 .方法声明
方法类型分为+ -:
1.+ 类方法(静态方法)使用类名调用 如:[ Person alloc]
-类方法 使用对象调用 如:[Person22 init]
2. 声明方法
方法类型(返回值类型)方法名 如:
+ (void)run;
-(void)sayHello;
3. getter/setter方法
getter 与成员变量名称相同(不要下划线),返回值类型:成员变量类型
-(NSString *) name;
-(NSInteger) age;
-(float) height;
setter 以set开头,名字与变量名相同;没有返回值;参数:与类成员变量一致,名称一致
有参数的方法定义格式:
方法类型(返回值类型)方法名:(参数1类型)参数名称
-(void)setName:(NSString *)name;
-(void)setAge:(NSInteger)age;
4.自定义init方法
-(instancetype) initWithName:(NSString *)name;
-(instancetype) initWithName:(NSString *)name height:(float)height;
- 变量实现
@implementation Person // 实现
+ (void)run{
NSLog(@"跑起来了");
}
- (void)sayHello{
NSLog(@"我%ld",_age );
}
//pragma mark - 实现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 调用
alloc分配调用
Person *person = [Person alloc];
初始化内存
person = [person init];
整合在一起
Person *person22 = [[Person alloc] init];