f(sixleaves) = sixleaves

重剑无锋 大巧不工

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  95 随笔 :: 0 文章 :: 7 评论 :: 0 Trackbacks
 1 #import <Foundation/Foundation.h>
 2 // 需求:每个Person对象一创建出来,他得_age都是10
 3 
 4 @interface Person : NSObject
 5 @property int age;
 6 @end
 7 
 8 @implementation Person
 9 
10 // override
11 - (id)init
12 {
13 
14     if (self = [super init]) {
15 
16         _age = 10;
17     }
18     return self;
19 
20 }
21 @end
22 
23 int main()
24 {
25 
26     Person *p = [[Person alloc] init];
27     NSLog(@"_age = %d", p.age);
28 
29 }
30 
31 /*
32 敲代码的快捷键:要敲出会重写对象已经存在的方法,不用写类型,只要敲出-后,再敲出方法名的一部分,就会自动补全
33 
34 A.调用父类构造方法的原因:
35     1.一定要调用super的init方法,初始化父类中的成员变量和属性。(初始化的其实是当前对象,只是当前对象有很多成员变量是从父类那继承过来的。)
36 
37 B.子类构造方法中调用父类构造方法返回值的解释:
38     1.调用super的init的方法,因为本质就是初始化当前对象的父类成员变量和属性,所以返回的是当前对象。
39 
40 C.重写构造方法的框架:
41 1.调用super init并将返回值赋给self指针。
42 2.总体框架
43 - (id)init
44 {
45     if (self = [super init])
46     {
47         
48     }
49     return self;
50 }
51 */
posted on 2015-05-02 10:59 swp 阅读(153) 评论(0)  编辑 收藏 引用 所属分类: objective-c

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理