- 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文档。上传文档
查看更多
程序员转型指南 当ava遇见了Objective-C
程序员转型指南 当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
您可能关注的文档
- 秉道教育--201年上海工程技术大学硕士研究生招生目录.docx
- 秉道教育--201年北京体育大学硕士研究生参考书目.docx
- 秉道教育--201年北京大学人口研究所硕士研究生招生目录.docx
- 秉道教育--201年北京大学信息科学技术学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学地球与空间科学学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学化学与分子工程学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学政府管理学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学基础医学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学工学院硕士研究生招生目录.docx
- 秉道教育--201年北京大学物理学院硕士研究生招生目录.docx
- 2025年新青岛版数学7年级上册全册教学课件.pptx
- 高二英语秋季开学第一课:有趣的英语、高效的学习方法(全国通用).pptx
- 2025年新人教版7年级上册语文全册教学课件.pptx
- 02.NBA顶流球星文班亚马少林寺修行:一次跨文化的精神之旅-2026年高考语文热点新闻写作素材积累与真题训练(全国通用).docx
- 2025年新人教版7年级数学上册全册教学课件.pptx
- 2025年新人教版8年级数学上册全册教学课件.pptx
- 2025年中考道德与法治真题完全解读(吉林卷).pptx
- 2025年新人教版化学9年级上册全册教学课件.pptx
- 2025年新沪科版数学7年级上册全册课件.pptx
- 01.LABUBU:一只潮玩精灵如何引爆全球,成为中国文化IP新名片-2026年高考语文热点新闻写作素材积累与真题训练(全国通用).docx
最近下载
- 【国家标准】GB∕T 35450-2017 聚碳酸酯薄膜及片材.pdf
- 医疗废物管理制度 (1).doc VIP
- 青19J2青19J3建筑专业(三):建筑用料及做法+屋面.docx
- 项目安全资料标准化实施手册 (1).pdf VIP
- 2022年成都市武侯国有资本投资运营集团有限责任公司招聘考试题库及答案解析.docx VIP
- 机械设计软件:Creo二次开发_(2).CreoAPI基础.docx VIP
- 第三十八回 及时雨会神行太保 黑旋风斗浪里白条-名著《水浒传》阅读导航+情节概括+思维导图+原文批注+阅读训练初中语文.docx VIP
- 物理性污染与防治.ppt VIP
- 1+X快递运营理论测试题.docx VIP
- 9.29事故抢险救援战评总结.ppt VIP
文档评论(0)