您的位置:首页 > 移动开发 > Objective-C

Objective-C之启程Objective-C语言介绍

2013-04-12 09:53 363 查看

1.前言

话说 Mac OS X 和IOS 都是基于Objective-C,所以学好Objective-C就相当于打好了地基,可见其重要性。由于本人是Java出身,对于C方面没有涉猎过,如今刚解除Objective-C,如有不对之处,请大家给与指点谢谢!

2.Objective-C介绍

Objective-C是C语言的一个扩展集,是面向对象的。

在这介绍一下与Java的区别和联系吧:

(1) Objective-C 2.0版本之前是没有垃圾回收器的,但是2.0以后便支持了,但是Objective-C却支持retain/release方法 和 autorelease方法,必要时候,可以在程序中手动释放空间。

(2)Java接口与 Objective-C正式协议类似,Java具有抽象类,但是Objective-C没有。

(3)Java有类变量,在Objective-C中可以提供文件范围内的全局变量并为他们提供对应的访问器。

(4)Objective-C的公共和私有方法的形式比较松散,对象支持的任何方法都可以被调用。

(5)Java允许声明final类,组织更改其中的任何子类,而Objective-C正好相反,允许在运行时候向任何类添加方法。

(6)Objective-C中类实现可以分为两个文件:头文件和自身的实现文件。头文件带有(.h扩展名)保留类的信息,例如此类中的代码将要使用的任何新的枚举,类型,结构,以及代码。其他代码段的预处理器(使用#import)导入该文件。而JAVA缺少预处理器。

预处理器:是一种文本替换工具,能在代码进入编辑器之前,现对他们进行自动处理。以#开头的指示表示一个预处理命令。

(7)Objective-C中,空(零)对象用nil表示。可以向nil对象发消息,而不必担心NullPointerException异常。想nil对象发送消息表示停止操作指令。

(8)在Objective-C中,通过类别向现有的类中添加方法,可以改变类的行为。Objective-C中没有类似于final的类。

(9)Objective-C是以C为基础,可以使用C的所有特性。

3.结语

可以借助Apple官方文档https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/Learning_Objective-C_A_Primer 来大体了解Objective-C。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息