iOS开发——OC篇&OC的优缺点

obj-c的优缺点


objc优点:

1) Cateogies 

2) Posing 

3) 动态识别
4) 指标计算 

5)弹性讯息传递

6) 不是一个过度复杂的 C 衍生语言

7) Objective-C 与 C++ 可混合编程

缺点: 

1) 不支援命名空間 

2) 不支持运算符重载
3) 不支持多重继承
4) 使用动态运行时类型,所有的方法都是函数调用,所以很多编译时优化方法都用不到。(如内联函数等),性能低劣。

 

1 Category
非常实用的扩展机制,可以很方便的为一个已有的类添加属性或者方法,而不需要笨拙的去继承他。

2 posing
可以让一个类的对象动态的以其他类行为去执行,也许可以理解成动态replace所有的method(不确定是否可以这么理解)

3 动态识别
比较常见的动态语言的特性,涉及的点就多了,举个简单的例子,判断一个对象是否是某个类的成员。isKindOfClass:


4 指标计算
真不知道是什么,查了下台湾人民把指针称为指标。。。。。。。。也许是说指针计算?那就不难理解了吧

5 弹性讯息传递

应该确定是湾湾人民写的了,应该就是指方法(method)的动态处理,譬如当你调用一个没有的方法的时候,系统将是再运行时跑出异常而不是编译时给出错误。

缺点1 命名空间
写过c#等其他语言的应该比较清楚,可以通过命名空间将相同名字的类进行分类,而objc中不得不通过前缀进行区分,这也是为什么苹果的类库都有UIXXX NSXXX等统一前缀了。

 
 

你可能感兴趣的:(ios开发)