黑马程序员技术交流社区
标题:
类的本质
[打印本页]
作者:
m573555543
时间:
2014-5-4 16:35
标题:
类的本质
本帖最后由 m573555543 于 2014-5-5 12:16 编辑
Person *p = [[Person alloc ] init];
可以这么理解么?
[[Person alloc ] init]
中的 Person 是一个对象 ,只不过是一个class 类型的对象
Person *p = [[Person alloc ] init];
先利用class 创建一个Person 类对象
在利用 Person 类对象 创建 Person *p 中的Person 类型的对象 ?
主要就是想问
在利用 Person 类对象 创建 Person *p 中的Person 类型的对象 ?
这一句我理解的对不对
作者:
葬花桥
时间:
2014-5-4 17:23
本帖最后由 葬花桥 于 2014-5-4 17:26 编辑
楼主的理解好像有点问题啊,Person应该是一个类而不是对象吧?[[Person alloc] init]这一句应该是实例化一个Person类的对象,并初始化,这样在内存中就有了一个Person类的对象,而且成员变量都初始化了,这里,alloc应该是类方法,init应该是对象方法,一个创建对象,一个初始化对象。
Person *p = [[Person alloc] init]这一句的话,是用Person类型的指针指向,Person实例化的对象,不然的话实例的对象就是匿名对象,也可以写成这样
Person *p = [Person alloc];
[p init];
作者:
m573555543
时间:
2014-5-4 17:40
葬花桥 发表于 2014-5-4 17:23
楼主的理解好像有点问题啊,Person应该是一个类而不是对象吧?[ init]这一句应该是实例化一个Person类的对 ...
在类的本质这个里面是这么说的吧。
作者:
郑亚鸽
时间:
2014-5-4 21:28
Person *p 的意思是p是一个Person类型的指针
[[Person alloc] init] 为创建的Person类对象分配一段内存地址并且初始化
+alloc是一个类方法,用来给对象分配内存
-init是实例方法用来完成初始化
Person *p = [[Person alloc] init]; //定义一个Person类型的指针p指向Person类的对象内存中的某一处;
作者:
ww384661784
时间:
2014-5-5 21:19
CLass后面跟的是类吧,对象是New出来的吧!!!!!!!!!!!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2