黑马程序员技术交流社区

标题: 对象在内存中的存储. [打印本页]

作者: xgjyjy    时间: 2016-3-17 12:20
标题: 对象在内存中的存储.
1. 对象在内存中的存储.
    1). 类加载.
    2). 对象如何存储的呢?
        HMPerson *p1 = [HMPerson new];
        a. 从本质上来讲.HMPerson是我们自定义的1个数据类型.将状态和行为封装为1个整体.
        b. p1是1个指针变量.并不是对象.
        c. 真正创建对象的其实是[HMPerson new];
           -> 在堆内存中申请1块合适大小的空间. 类的所有的属性+isa的指针大小.
           -> 在这个空间根据类的模板创建对象.
              将类的属性依次的 挨个的 一个不落的声明在这个对象中
              还有1个属性叫做isa 是1个指针  指向代码区的类.
           -> 初始化对象的属性.
              属性的类型是基本数据类型  0
                        C指针       NULL
                       OC指针        nil
           -> 将这个对象的地址返回.

        p1是1个指针,指向了堆区的对象.


作者: x12    时间: 2016-3-17 17:48
初始化对象的属性,可以设定么




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2