标签:
A.id
1 // 1.调用+alloc分配存储空间 2 Person *p1 = [Person alloc]; 3 // 2.调用-init进行初始化 4 Person *p2 = [p1 init]; 5 // 同时进行分配存储空间和初始化 6 Person *p3 = [[Person alloc] init];
1 @implementation Person
2
3 // 重写-init方法
4 - (id) init
5 {
6 // 1.一定要调用super的init方法
7 self = [super init];// 当前对象self
8
9 // 2.如果对象初始化成功,才能进行接下来的子类初始化
10 if (self != nil)
11 {// 初始化成功
12 self.age = 10;
13 }
14
15 // 3.返回一个已经初始化的对象
16 return self;
17 }
18
19 @end
1 - (id) init
2 {
3 if (self = [super init])//nil实际是0
4 {
5 self.age = 10;
6 }
7 return self;
8 }
1 @interface Person : NSObject
2 @property NSString *name;
3
4 /*
5 自定义构造方法的规范
6 1.一定是对象方法,一定以-开头
7 2.返回值一般是id类型
8 3.方法名一般以init开头
9 */
10
11 - (id) initWithName:(NSString *) name;
12
13 @end
14
15 @implementation Person
16
17 - (id) initWithName:(NSString *) name
18 {
19 if (self = [super init])
20 {
21 _name = name;
22 }
23
24 return self;
25 }
26
27 @end
[Objective-c 基础 - 2.7] 构造方法、重写init方法
标签:
原文地址:http://www.cnblogs.com/wvqusrtg/p/4501581.html