- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序员转型指南 当Java遇见了Objective-C
作者: 【51CTO译文】目前在移动开发领域最重要的两个平台分别为Android平台和iOS,在两个平台开发应用分别要用Java和Objective-C语言。虽然Java和Objective-C就像是处在两个不同的世界,但这两种编程语言以及它们的平台库等等还是有许多相似的地方。本文为51CTO独家译文,讲述了外国开发者Genadiy Shteyman从Java开发转向Objective-C需要掌握技能。
以下为全部译文,(文章中的“我”指代Genadiy Shteyman):
最近一段时间,我从编写企业Java应用转向使用Objective-C。经过长时间的困扰之后,我发现两者的相似之处很多,如果能够早些读到相关的文章,转换工作会容易得多。
所以我写下这篇文章,想要帮助Java程序员快速的掌握Objective-C开发的主要特点。我使用一个社交网络应用作为例子,演示怎样用这两种语言建立开发环境。例子中会包括创建基本对象与比较两种语言的MVC设计模式,还会演示两种语言中数据的存储和获取。
Objective-C开发:从哪里开始
开发iPhone应用,首先最好要使用Mac电脑。最新的Mac OS X 10.6版本通常包含了一份Xcode IDE,以及使用Objective-C的配套iPhone开发软件工具套装(图表一)。
498)this.width=498; height=289图表一:Xcode IDE开发环境,项目视图
2010年11月,苹果发布了期待已久的iOS SDK 4.2,其中包含了丰富的框架和功能,用来搭建互动iPhone应用。Xcode还包含了一个仿真器,可以让你在电脑中模拟程序运行在手机上的效果。
Objective-C是iPhone应用的主要开发语言。对Java开发者来说,幸运的是Objective-C是完全面向对象的,使用和其他OO语言相同的理念——继承、多态和封装等等。定义一个类(Objective-C中称为module或.m文件),首先要定义一个接口(一个header或.h文件),然后把它引入到类中。
我们来看这个社交网络应用的例子,这个应用需要建立一个联系册,让你和朋友们时常保持联系。朋友的档案存储在FriendProfile对象中,包含四个字段:朋友的名字、城市、国家和电话号码,如Listing One所示:
Listing?One ?
//??FriendProfile.h ?
#import?Foundation/Foundation.h ?
#import?UIKit/UIKit.h ?
?
@interface?FriendProfile?:?NSObject?{ ?
} ?
@property?(nonatomic,?retain)?NSString?*?name; ?
@property?(nonatomic,?retain)?NSString?*?country; ?
@property?(nonatomic,?retain)?NSString?*?city; ?
@property?(nonatomic,?retain)?NSString?*?phoneNbr; ?
@end ?
//FriendProfile.m ?
#import?FriendProfile.h ?
?
@implementation?FriendProfile ?
@synthesize?name;? ?
@synthesize?country;? ?
@synthesize?city;? ?
@synthesize?phoneNbr; ?
@end ?
在这个例子中,接口FriendProfile:NSObject表示我们定义了一个叫做FriendProfile的接口,它从NSObject基类中继承各种功能。NSObject是Objective-C的根类,大多数Objective-C中用到的类都会从中继承,这和Java中的Object类相似。接下来,我们分配多个NSString类型变量(等同于Java中的String类型)用来存储朋友的数据。然后是建立FriendProfile类,使用@synthesize关键字自动创建各种get和set方法。建立一个FriendProfile对象可以使用如下的语句:
FriendProfile?*?profile?=?[[FriendProfile?alloc]?init];?
这里的alloc和init就像Java里的new关键字,用来在内存中建立FriendProfile对象。接下来,就可以给对象的各种字段赋值了。
[profile?setName:@Albert]; ?
[profile?setCountry
您可能关注的文档
- 操作系统-Linux的设备管理.doc
- 操作系统的实验.doc
- 操作系统第4次作业.doc
- 操作系统第三版教材配套教学大纲.doc
- 操作系统复习资料2.doc
- 操作系统概名解.doc
- 操作系统基础及窗口XP操作系统的使用.doc
- 操作系统基础课件.doc
- 操作系统基础实验指导书2011.doc
- 操作系统-讲义.doc
- 局机关2025年上半党支部工作总结.docx
- 《党组讨论和决定党员处分事项工作程序规定》交流发言:以《规定》为纲,扎实推进纪检监察工作高质量发展.docx
- 市政府办公室关于学习教育进展情况汇报.docx
- 市委办公室在学习教育督导推进会上的汇报发言.docx
- 学习《党组讨论和决定党员处分事项工作程序规定》交流发言.docx
- 学校开展作风建设专题汇报会上的交流发言.docx
- 市政府办公室在学习教育督导座谈会上的汇报发言.docx
- 严守党纪红线,强化执纪担当——在市纪委理论学习中心组专题学习研讨会上的发言.docx
- 2025年党员领导干部学习《党政机关厉行节约反对浪费条例》研讨会交流发言 (2).docx
- 市人大办公室在学习教育督导座谈会上的汇报发言.docx
最近下载
- 美国fda生产过程(工艺)验证总则指南中英文版.doc VIP
- 成都理工大学2020-2021学年第2学期《环境监测》期末考试试卷及标准答案.docx
- 2024年江苏省无锡市中考英语真题卷(含答案与解析).docx VIP
- 年产水性油墨、凹版塑料环保油墨4500 吨、水性涂料500吨建设项目环评(2021年新版环评)环境影响报告表.pdf VIP
- fda美国食品药物管理局工艺验证指南英文版).doc VIP
- 金属非金属露天矿山建设项目安全设施竣工验收表.pdf VIP
- 单位员工网络安全培训.pptx VIP
- PQE试用期述职报告.pptx VIP
- 《GBT 30130-2023胶版印刷纸》最新解读.pptx
- GJB9001C:2017研发一整套资料模板(共348页).pdf VIP
文档评论(0)