概述
Objective-C是一种面向对象的计算机语言,Brad J Cox 1980s设计了Objective-C,该语言是基于SmallTalk-80。1988 NeXT发布了Objective-C,它的开发环境和类库叫“NEXTSTEP”,1994年NeXT与Sun发布了标准的NEXTSTEP系统,取名“OPENSTEP”,软件自由基金会OPENSTEP版本叫GNUStep。
1996 苹果公司开始支持NeXT,把NEXTSTEP/OPENSTEP用于Mac OS X操作系统开发,它的版本和开发环境叫Cocoa,使用Objective-C作为基础语言,开发工具Xcode和Interface Builder。2007苹果公司推出Objective-C 2.0,Objective-C是Mac OS X和iOS开发的基础语言。
特点
Objective-C与其它面向对象有这明显的不同,它有这自己鲜明的特色,下面我们从这个方法介绍它的特点:兼容性、字符串、类、方法、属性、协议和分类。
•1.兼容性
•Objective-C可以说是一种面向对象的C语言,在Objective-C的代码中可以有C和C++语句,它可以调用C的函数,也可以通过C++对象访问方法。
•2.字符串
•Objective-C通常不使用C语言风格的字符串。大多数情况下是使用Foundation框架的NSString类型的字符串。NSString类提供了字符串的类包装,支持Unicode,printf风格的格式化工具等等。它是在普通的双引号字符串前放置一个@符号,如下面的例子所示:
• NSString* myString = @"My String\n";
•NSString* anotherString = [NSString stringWithFormat:@"%d %s", 1,@"String"];
•Objective-C是一种面向对象的语言,定义类是它的基本能力。
Objective-C的类声明和实现包括两个部分:接口部分和实现部分。
• 4.方法
• Objective-C是一种面向对象的语言,定义方法也是它的基本能力。Objective-C中方法不是在“.”运算符,而是采用“[]”运算符。有时候方法调用也称为:消息发送。
•5.属性
•属性是Objective-C 2.0提出的概念,它是替代对成员变量访问的“读取方法(getter)”和“设定方法(setter)”的手段,为了对类进行封装一般情况下不直接访问成员变量,而是通过属性访问。
• 6.协议
• Objective-C中的协议类似于Java中的接口或C++的纯虚类,只有接口部分定义没有实现部分,即只有h文件没有m文件。
• 7 .分类
• Objective-C中的分类是类似与继承机制,通过分类能够扩展父类的功能。