首页 > 代码库 > 【OC学习-16】动态VS静态类型识别?什么是动态绑定和动态加载?

【OC学习-16】动态VS静态类型识别?什么是动态绑定和动态加载?

动态VS静态


我们在实例化一个对象时,一般都是如下,就是静态类型:

ASPerson * person=[[ASPerson alloc]init];

还有一种是动态类型:

id person=[[ASPerson alloc]init];

可以看出来:

(1)一般的带有明显类名(静态指针)的都是静态类型,而用id的通用指针的都是动态类型;

(2)静态类型更容易阅读,更友好;

(3)一般不涉及多态的时候,尽量用静态类型。


动态绑定和动态加载


这其实是针对类和对象说得,就是很多事情都不是事先弄好的,而是在程序运行时候才去生成、绑定、加载,就是动态的意思。

具体详细解说见:http://blog.csdn.net/tskyfree/article/details/7984887


这些知识主要是理论性的,可以快速浏览,等开发后再回过来复习可能理解更深入。

【OC学习-16】动态VS静态类型识别?什么是动态绑定和动态加载?