1、我们说的OC是动态运行时语言是什么意思?
多态。主要是将数据类型的确定由编译时,推迟到了运行时。
涉及两个概念,运行时和多态。
简单来说,运行时机制使我们直到运行时才去决定一个对象的类别,以及调用该类别对象指定方法。
多态:不同对象以自己的方式响应相同的消息的能力叫做多态。意思是假设生万物类(life),都用一个相同的方法-eat;
那人类就属于生物,猪也属于生物,都继承了life后,实现各自的eat,但是调用时我们只需调用各自的eat方法。
也就是不同的对象以自己的方式响应了相同的消息(响应了eat这个选择器)。因此也可以说,运行时机制是堕胎的基础。
OBJ-C的优缺点:
OBJC优点:
1)Cataogies
2)Posting
3)动态识别
4)指标计算
5)弹性讯息传递
6)不是一个过渡复杂的C衍生语言
7)Objectiv-C与C++可混合编程
OBJC缺点:
1)不支持原命名空间
2)不支持运算符重载
3)不支持多重继承
4)使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。