类
#import "Person.h"
@implementation Person
- (void)sayHi
{
NSLog(@"name:%@,sex:%@,hobby:%@age:%ld",_name,_sex,_hobby,_age);
}
- (void)sleep
{
NSLog(@"i love sleep");
}
//- (instancetype)init
//{
// _name = @"小唐";
// _sex = @"男";
// _hobby = @"白骨精";
// _age = 23;
// return self;
//}
- (NSString *)name
{
return _name;
}
- (NSString *)sex
{
return _sex;
}
- (NSString *)hobby
{
return _hobby;
}
- (NSInteger)age
{
return _age;
}
- (void)setName:(NSString *)name
{
_name = name;
}
- (void)setsex:(NSString *)sex
{
_sex = sex;
}
- (void)sethobby:(NSString *)hobby
{
_hobby = hobby;
}
- (void)setage:(NSInteger)age
{
_age = age;
}
- (instancetype)initWithName:(NSString *)name sex:(NSString *)sex hobby:(NSString *)hobby
{
self = [self initWithName:name sex:sex hobby:hobby age:0];
return self;
}
- (instancetype)initWithName:(NSString *)name sex:(NSString *)sex{
// nill 空对象
self = [self initWithName:name sex:sex hobby:nil age:0];
return self;
}
- (instancetype)initWithName:(NSString *)name
{
self = [self initWithName:name sex:nil hobby:nil age:0];
return self;
}
- (void)sayHiWinthName:(NSString *)name
{
NSLog(@"say hello2");
}
- (void)sayHiWinthName:(NSString *)name sex:(NSString *)sex
{
NSLog(@"say hello2");
}
- (void)sayHiWinthName:(NSString *)name sex:(NSString *)sex hobby:(NSString *)hobby
{
NSLog(@"say hello 3");
}
- (void)sayHiWinthName:(NSString *)name sex:(NSString *)sex hobby:(NSString *)hobby age:(NSInteger)age
{
NSLog(@"say hello4");
}
- (instancetype)init
{
self = [self initWithName:nil sex:nil hobby:nil age:0];
return self;
}
// 自定义初始化方法
// 作用 : 按照传入的参数给对象的成员变量赋值
// 指派初始化方法 designated initializer
// 指定某个初始化方法作为赋值方法 其他初始化指向该方法
-(instancetype)initWithName:(NSString *)name sex:(NSString *)sex hobby:(NSString *)hobby age:(NSInteger)age
{
// 通过传入的形参给成员变量赋值
// 成员变量 =参数名
[self setName:name];
[self setsex:sex];
[self sethobby:hobby];
[self setage:age];
// _name = name;
// _sex = sex;
// _hobby = hobby;
// _age = age;
return self;
}
@end