Iphone开发基础篇(一)-ObjectC之Hello ObjectC

来源:互联网 发布:照片分类的软件 编辑:程序博客网 时间:2024/05/04 15:36

前言与展望

说起iphone开发,必然要先说说iphone了,也就是苹果手机,总体来说,苹果手机的出现带动了一系列的IT行业的迅猛增长,在2007年6月29日苹果公司首发iPhone,在当年9月10日iPhone就突破了100万台,苹果公司股价涨至180美元,由于苹果手机硬件和系统几乎完美的结合,给了用户非常舒适的操作感,导致了苹果手机的疯狂热卖.从3GS爆发,到现在的4S一发不可收拾。

在iphone应用迅猛发展的同时一大批的软件开发者把方向指向了iphone开发,而开发所用的语言-Objective-c在这个背景下也成了炙手可热的语言之一,在最新的世界编程语言排行榜中,从09年的一望无际,迅速提升到了排行榜的第5名,已然加入了开发语言的领头军之列.Java,c,c++,c#,object c.

开发环境

win7 64 +VMWare 7.1 + MAC OS 10.6.3

xcode 4.3.2

IOS SDK 4.1

面向 对象的C语言

    提及面向对象的语言,大多数Windows下的开发者会首先想到的是C++,C#或者Java。但是,如果你首先想到的是Objective-C,那么你应该是一位Mac OS下的开发者,这个现代计算机系统中,最多应用Objective-C的Apple公司Mac OS X。

Object-C和C++

    Object-C是在C语言的基础上,吸收了Smalltalk的面向对象成分创造出的,这与大多数以Java为基础的面向对象语言非常的不同。

    而且,与其他面向对象语言隐藏类在内存上的构造不同的是,Object-C用C语言来实现类,也就是说,和现代面向对象的思维方式相反,不是在语言中重新引进面向对象的元素,而是借助设计模式,在C语言中,不追加新元素的前提下实现面向对象的思想。举例来说,C++或者Java语言本身中就包含有类这个面向对象的概念,更通俗的说法是class这个关键字就是语言的一个组成部分,而在Object-C中,类的定义要放到头文件中进行,其本质上就是一个用typedef隐藏过的构造体。所以,Object-C和C语言有很高的亲和性,这会使熟悉Java的开发者非常难以接受,然而对熟悉C语言和设计模式的开发者,却是一个好机会。

Object-C的编译环境

    如果系统是Mac OS X的话,安装附属的开发环境后立刻就能开始使用Objective-C 。而Linux系统下的GCC或者专门应用于Windows的GCC也能编译Objective-C。

新的预处理命令

    Objective-C是C语言的扩张,C语言是Objective-C的子集,所以C语言不做任何修改就能在Objective-C环境下运行。更准确的说,Objective-C不是C语言本身的扩张,而是对编译器的扩张,编译器最终会将Objective-C翻译成C语言,而两者编译的结果代码也会是完全一样。在Objective-C中新追加的关键字,也不过是在头文件中用#define或者typedef的重新定义而已。

    所以,为了正确运行Objective-C,必须首先引进特定的头文件,Objective-C中新引进的关键字和类型,都定义在foundation/foundation.h这个头文件中。

    引用头文件的方式,在Object-C中增加了#import这个预处理命令。#import除了不会重复引进已经存在的文件之外(重复引用在C语言中是一个令人头疼的问题),用法和功能都和#include 一样。

#import <头文件>#import "头文件"

     如果你仍然坚持使用#include来引进头文件的话,请不要忘了处理重复引用的问题。

    另外,和以往的C语言一样,为了使用printf()等标准函数,还需要引用stdio.h头文件,还需要说明的是,Objective-C源程序文件的扩展名不是.c而是.m。

#import <foundation/foundation.h>int main(int argc, const char * argv[]) {    NSLog(@"Hello Object-C!"); 
    return (0);}

    从上面的程序可以看出,Objective-C和C语言几乎完全一样,事实上Objective-C不是与C语言类似,而是和C语言具有完全的互换性,或者说本质上就是C语言。

注释方式上,除了可以使用C语言的/*    */之外,Objective-C又增加了 //这种单行的注释方式。

 

 

 

原创粉丝点击