Objective-C编程语言概叙

来源:互联网 发布:聚宝盆软件官网 编辑:程序博客网 时间:2024/05/14 22:23

特点

Objective-C简称OC,是一种通用目的的、面向对象的编程语言,它是把Smalltalk中的消息风格加到了C编程语言。Apple公司用OC作为开发OS X和iOS操作系统,以及这些系统的应用程序接口(APIs)。OC实现程序的源代码文件通常是.m文件名扩展,而OC的头文件和C编程语言一样都是.h文件名扩展。Objective-C++的源文件是.mm文件名后缀。

历程

OC最早起源于二十世纪80年代。当时,OC是被选为主要编程语言用来开发NeXT公司的NeXTSTEP操作系统,而后NeXTSTEP操作系统衍生出了OS X以及iOS等。可移植编程语言OC不使用Cocoa或Cocoa Touch的类库,也能在支持GCC或Clang的操作系统中被编译。

体会

对编者来说,OC是最近才接触到的新东西。依靠着以前学习C编程语言和C#编程语言的基础,我渐渐熟悉着OC的语法(Syntax)和基本理论。OC作为开发OS X和iOS应用软件的最佳编程语言,它有着与主流编程语言不同的语法特征。如果学习过Java或者C++的人看到OC,他会发现学习OC的过程将是一个“痛苦”的过程。因为OC不一样,有时可以说非常不一样。这不仅仅体现在语法规范方面,也体现在它的发展历史以及多年形成的处理事情的特殊方式,它不会像你以前学过的任何一门编程语言。所以,得尽量去抛开以前编写代码的规范。


OC面向对象程序设计的模型是基于对对象的实例的消息传递。在OC中,一种不调用方法,一种发送消息。这不像在C++中使用的Simula编程语言中的编程模型。这两种观念的区别在于代码怎么被方法引用的或者消息名怎么执行的。在Simula风格的语言中,方法名大多数情况会受编译器限于一部分在目标类中的代码。在Smalltalk和OC中,一个消息的目标是在运行时(runtime)中被处理的,伴随着接收解释消息的对象本身。

比如,发送消息方法给指针指向的对象,在C++中是这样的:

obj->method(argument); //obj是指针

而在OC中是这样的:

[obj method:argument];

两种编程风格都各有好处与坏处。C++的Simula风格支持多继承,而且编译时绑定执行非常快。但是默认不支持动态绑定。OC的Smalltalk风格支持消息不实现,方法在运行时中实现。比如,一个消息能被发到对象的集,只有部分会反应,不用担心产生运行时错误。消息传递也能不要求对象在编译器中被定义。实现仍要求方法在派生对象被调用。


以上还只是举例说明了一下OC中消息的语法特点,其实OC还有很多诸如接口(interfaces and implementations)、协议(protocols)、动态类型(dynamic typing)、种类(categories)等一些有特色的语法规范和设定。

0 0
原创粉丝点击