Object-C语言的优缺点

【优点】

  1. Category类别,在不改变原有类的基础上,为类增加一些方法。协作开发的时候,可以不用担心合并冲突的问题。
  2. Posing,Posing的意思是扮演,冒充。Posing存在的目的在于子类可以冒充父类,可以让父类表现为子类的行为。主要使用到的方法就是poseAsClass方法,不过貌似这个方法现在已经被禁用了。还可以通过修改isa指针来修改指向的类,如KVO
  3. 动态消息机制,涉及到多态的概念,反射机制等。主要就是把对象的类型确定从编译时推迟到了运行时,以及再去确定调用的方法。增加了编程的灵活性。
  4. 指针计算
  5. 不是一个太复杂的C衍生语言
  6. OC可以和C、C++、Swift混合编程

【缺点】

  1. 不支持命名空间,OC 中没有命名空间的概念,也没有包的概念,为了区分不同的类,可以在类名前加前缀。
  2. 不支持运算符重载
  3. 不支持多重继承,在OC中使用实现多个protocol来替代多重继承,protocol就类似接口的概念。
  4. 使用动态运行时类型,所有的方法都是函数调用,很多编译时的优化方法都用不到,如内联函数。

你可能感兴趣的:(Object-C)