您的位置:首页 > 其它

初始化丶便利构造器丶set丶get 练习勿喷丶多给建议

2015-03-03 09:50 141 查看
//Person类.h
@interface Person : NSObject
{
NSString *_name;
NSString *_gender;
NSString *_hobby;
int _age;
}
- (void)sayHi;
- (void)eat;

//初始化
- (id)initWithName:(NSString *)name
gender:(NSString *)gender
hobby:(NSString *)hobby
age:(int)age;

- (id)initWithName:(NSString *)name
gender:(NSString *)gender
hobby:(NSString *)hobby;

- (id)initWithName:(NSString *)name
gender:(NSString *)gender;

- (id)initWithName:(NSString *)name;

- (id)init;

//便利构造器
+ (id)personWithName:(NSString *)name
gender:(NSString *)gender
hobby:(NSString *)hobby
age:(int)age;

+ (id)personWithName:(NSString *)name
gender:(NSString *)gender
hobby:(NSString *)hobby;

+ (id)personWithName:(NSString *)name
gender:(NSString *)gender;

+ (id)personWithName:(NSString *)name;

//set 丶 get 方法
- (void)setName:(NSString *)name;
- (NSString *)name;

- (void)setGender:(NSString *)gender;
- (NSString *)gender;

- (void)setHobby:(NSString *)hobby;
- (NSString *)hobby;

- (void)setAge:(int)age;
- (int)age;

//Person类.m

@implementation Person

- (void)dealloc
{
[_name release];
[_sex release];
[_hobby release];
[super dealloc];
}

- (void)sayHi
{
NSLog(@"Hi,
我是%@,性别 %@
,爱好%@
,年龄%d\n", self.name, self.sex, self.hobby, self.age );
}

- (void)eat
{
NSLog(@"吃饭");
}

//初始化实现方法
- (id)initWithName:(NSString *)name
sex:(NSString *)sex
hobby:(NSString *)hobby
age:(int)age
{
self = [super init];
if (self) {
[self setName:name];
[self setSex:sex];
[self setHobby:hobby];
[self setAge:age];
}
return self;
}

- (id)initWithName:(NSString *)name
sex:(NSString *)sex
hobby:(NSString *)hobby
{
self = [self initWithName:name sex:sex hobby:hobby age:0];
return self;
}

- (id)initWithName:(NSString *)name
sex:(NSString *)sex
{
self = [self initWithName:name sex:sex hobby:nil age:0];
return self;
}

- (id)initWithName:(NSString *)name
{
self = [self initWithName:name sex:nil hobby:nil age:0];
return self;
}

- (id)init
{
self = [self initWithName:nil sex:nil hobby:nil age:0];
return self;
}

//便利构造器实现方法
+ (id)personWithName:(NSString *)name
sex:(NSString *)sex
hobby:(NSString *)hobby
age:(int)age
{
Person *p = [[Person alloc] initWithName:name sex:sex hobby:hobby age:age];
return [p autorelease];
}
+ (id)personWithName:(NSString *)name
sex:(NSString *)sex
hobby:(NSString *)hobby
{
Person *p = [[Person alloc] initWithName:name sex:sex hobby:hobby age:0];
return [p autorelease];
}

+ (id)personWithName:(NSString *)name
sex:(NSString *)sex
{
Person *p = [[Person alloc] initWithName:name sex:sex hobby:nil age:0];
return [p autorelease];
}

+ (id)personWithName:(NSString *)name
{
Person *p = [[Person alloc] initWithName:name sex:nil hobby:nil age:0];
return [p autorelease];
}

//set丶get
- (void)setName:(NSString *)name
{
if (_name != name) {
[_name release];
_name = [name retain];
}
}
- (NSString *)name
{
return [[_name retain] autorelease];
}
- (void)setSex:(NSString *)sex
{
if (_sex != sex) {
[_sex release];
_sex = [sex retain];
}
}
- (NSString *)sex
{
return [[_sex retain] autorelease];
}
- (void)setHobby:(NSString *)hobby
{
if (_hobby != hobby) {
[_hobby release];
_hobby = [hobby retain];
}
}
- (NSString *)hobby
{

return [[_hobby retain] autorelease];
}
- (void)setAge:(int)age
{
_age = age;
}
- (int)age
{
return _age;
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: