GeekBand OC 2. 类与对象

2016-05-08  本文已影响10人  robinn9810

类型系统

1. 引用类型:类(Class)

2. 值类型

3. 类型装饰

1. 接口

属性表达状态

方法表达行为

2. 类型与实例

RPoint:类型

rp1:实例(称为“对象”)

alloc:请求动态内存分配

init:初始化(默认为0)

[]:发送消息

3. 结构(类似于C)

自动定义内存大小(与创建对象不同)

结构对应的实例称为“值”

不同点:内存分配方式不同,sp1不能发消息,引用类型与值类型

4. 对象的空间分析

栈上存储指针

指针指向的对象存储在堆上

只能通过指针访问对象

值的空间分析

实例值直接存储于栈

5. 栈(heap)堆(stack)

栈(sp1):存储值类型(较为自动化)

堆(rp1):存储引用类型对象(较为手动化)

6. 拷贝行为:rp1,rp2指向同一个对象;改变rp2会同时改变rp1

sp1,sp2是两个对象;改变rp2对rp1没有任何影响

7. 传参行为:调用函数需要前置声明

rp3和rp1指向同一个对象;改变rp3会同时改变rp1

sp1,sp3是两个对象;改变sp3对sp1没有任何影响

调用完成后process栈会被回收;回收后对rp1,sp1结果没有任何影响

8. 内存模型的重要性

上一篇下一篇

猜你喜欢

热点阅读