- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Objective-C与Swift编程-中山大学数据科学与计算机学院.doc
PAGE
PAGE 43
Objective-C与Swift编程
Objective-C程序设计
Objective-C简介
1.1历史
Brad J.Cox在20世纪80年代早期设计了Objective-C语言,它以一种叫做SmallTalk-80的语言为基础。Objective-C在C语言的基础上又加了一层,这意味着对C进行了扩展,从而创造出一门新的程序设计语言,支持对象的创建和操作。
1988年,NeXT计算机公司获得了Objective-C语言的授权,并发展了Objective-C的语言库和一个开发环境,即NEXTSTEP。1992年,自由软件基金会的GNU开发环境增加了对Objective-C的支持。所有Free Software Foundation(FSF)产品的版权归FSF所有。它以GNU通用公共许可证来发布产品。
1994年,NeXT计算机公司和Sun公司联合发布了一个针对NEXTSTEP系统的标准规范,名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUStep。有一个Linux版本,它包括Linux内核和GNUStep开发环境,这个Linux发行版被十分贴切地命名为LinuxSTEP。
1996年12月20日,苹果公司宣布收购NeXT软件公司,NEXTSTEP/OPENSTEP环境将成为苹果操作系统下一个主要发行版本OS X的基础。这个开发环境的版本被苹果公司称为Cocoa。它内置了对Objective-C语言的支持,并结合了Project Builder(后继版本为Xcode)和Interface Builder等开发工具,苹果公司为Mac OS X上的应用程序开发创建了一个功能强大的开发环境。
2007年,苹果公司发布了Objective-C语言的升级版,并称之为Objective-C 2.0。
1.2第一个Objective-C程序
Objective-C是非常实用的语言。它是一个用C写成很小的运行库,令应用程序的尺寸增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。Objective-C写成的程序通常不会比其原始码大很多。Objective-C完全兼容标准C语言,而在此基础上增加了面向对象编程语言的特性以及Smalltalk消息机制。
开发工具:Xcode 下载地址:
实例代码:
#import Foundation/Foundation.h
int main(int argc,const char * argv[])
{
@autoreleasepool{
NSLog(@Hello World!);
}
return 0;
}
Objective-C源文件使用.m作为文件的扩展名。表1.1列出了常见的文件扩展名。
表1.1
代码解释:
(1)注释://或/* */
(2)将文件信息导入或者包含到文件中,其中包含其他类和函数的有关信息。
(3)main特殊名称,准确地表示程序在何处执行。
(4)“autoreleasepool”自动释放池:使得应用在创建对象时,系统能够有效地管理应用所使用的内存。
(5)调用名为NSLog的函数,传递给NSLog函数的参数是字符串:“@Hello World!”(@符号位于一对双引号的字符串前面,成为NSString对象)。NSLog不仅能 显示简单短语,还能显示变量的值及计算结果。例如,
NSLog(@The sum of %i and %i is %i,value1,value2,sum);可以按格式输出变量的值。
二、Objective-C程序设计初步
2.1基本数据类型和表达式
2.1.1基本数据类型
与C++语言基本相同,不同的是,Objective-C添加了一种id类型,id数据类型可存储任何类型的对象,从某种意义上说,它是一般对象类型。id类型是多态和动态绑定的基础。基本数据类型如表2.1所示,
表2.1
2.1.2表达式
与所有的程序设计语言一样,运算符具有优先级,优先级较高的运算符首先求值。如果优先级相同,可按照“从左到右”或者“从右到左”的方向来求值,具体按哪个方向取值取决于运算符。例如常见的算术运算符、逻辑运算符、赋值运算符等等。
2.2基本控制结构
与大多数程序设计语言相似,包括顺序、选择、循环结构,在此不再累述。
三、类、对象与方法入门
3.1基本概念
⑴对象
对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
⑵对象的状态和行为
对象具有状态,一个对象用数据值来描述它的状态。对象还有操作,用于改变对象的状态,对象及其操作就是对象的行为。对象实现了数据和操作的
您可能关注的文档
最近下载
- NB∕T 10342-2019 水电站调节保证设计导则.pdf
- 2025年中国碳化硼陶瓷项目创业投资方案.docx
- conval(康阀)画册.pdf VIP
- 污水波纹管工程施工方案(3篇).docx VIP
- 微观经济学知到智慧树期末考试答案题库2024年秋北方工业大学.docx VIP
- 2025年衢州常山县统计局公开招聘编外统计员13人笔试备考试题含答案详解(能力提升).docx
- 2024届高考英语二轮复习50分阅读理解提分练(五).docx VIP
- DB4211T 12-2022 医疗废物暂存间卫生管理规范.docx VIP
- 中国氯气项目创业计划书.docx
- 中国红磷阻燃剂项目商业计划书.docx
文档评论(0)