初始化丶便利构造器丶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
@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
相关文章推荐
- OC-初始化方法-便利构造器(练习-约分)
- OC_继承,便利构造器,初始化方法
- Objective-C学习笔记_继承、初始化方法、便利构造器
- OC:继承、初始化方法、便利构造器
- OC学习_ 第三天 继承、初始化方法、便利构造器
- [TwistedFate]继承 初始化方法 便利构造器
- oc 便利初始化、便利构造器
- OC-继承、初始化方法、便利构造器概念
- NSString常用的方法,比如初始化,便利构造器,获取字符串长度,字符串拼接等
- Objective-c语言_便利初始化函数和便利构造器
- Objective-c语言_面向对象(便利初始化函数,构造器和多态的结合)
- OC学习日记03-类和对象(二)OC语言中的方法 、设置器与访问器、便利初始化函数与便利构造器
- OC中的方法、设置器与访问器、便利初始化函数及便利构造器的相关问题
- OC语言中的便利初始化函数和便利构造器
- OC第三天-继承,初始化方法,便利构造器 ,self,super,方法重写
- OC基础:继承.初始化方法,便利构造器 分类: ios学习 OC 2015-06-16 19:27 84人阅读 评论(0) 收藏
- 【继承】指定初始化方法【便利构造器】
- OC中实例变量初始化方法,setter方法以及便利构造器的不同
- 03 继承 初始化方法 便利构造器
- OC基础:继承.初始化方法,便利构造器