简介objective-c语言

简介objective-c语言

ID:9085420

大小:32.50 KB

页数:3页

时间:2018-04-17

简介objective-c语言_第1页
简介objective-c语言_第2页
简介objective-c语言_第3页
资源描述:

《简介objective-c语言》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Objective-C,是扩充C的面向对象编程语言。主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。AD:Objective-C,通常写作ObjC和较少用的ObjectiveC或Obj-C,是扩充C的面向对象编程语言。它主要使用于MacOSX和GNUstep这两个使用OpenStep标准的系统,而在NeXTSTEP和OpenStep中它更是

2、基本语言。Objective-C可以在gcc运作的系统写和编译,因为gcc含Objective-C的编译器。1980年代初布莱德·确斯(BradCox)在其公司Stepstone发明Objective-C。他对软件设计和编程里的真实可用度问题十分关心。Objective-C最主要的描述是他1986年出版的ObjectOrientedProgramming:AnEvolutionaryApproach.AddisonWesley.ISBN0-201-54834-8.优点及缺点Objective-C是非常“实际”的语言。它

3、使用一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNU

4、step),Apple在其MacOSX10.3中仍未引入这个功能。另一个问题是ObjC不包括命名空间机制(namespacemechanism)。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa编程环境中,所有MacOSX类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚分别它们属于MacOSX核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。虽然Objective-C是C的母集,但它也不视C的基本型别为第一级的对象。和C++不同,Ob

5、jective-C不支援运算子多载(它不支持ad-hoc多型)。亦与C++不同,但和Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。Categories和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。Objective-C排行榜TIOBE20105月编程语言榜已于近日发布,本期主要变化是Objective-C排名进入前十。尽管Objective-C的份额在上个月只达到0.08%,但却在排名上迈出了重要一步——首次进入前十名。这一步的意

6、义重大,要知道,2001年6月TIOBE编程榜发布以来,总体只有13个编程语言曾经进入前十名。Objective-C流行的主要原因可能是它是唯一一种可以为iphone和ipad编程的语言。但单从编程语言的角度来看,诞生于1986年的Object-c并没有表现出多少新意。TIOBE2010年6月份编程语言榜已于近日发布,Objective-C排名继续爬升,从第10名上升到第9名。由此可见,Objective-C具有很大的发展空间。Objective-C和C++的比较单一继承:Objective-C不支持多重继承,(同Ja

7、va和Smalltalk),而C++语言支持多重继承。动态:Objective-C是动态定型(dynamicalytyped)所以它的类库比C++要容易操作。Objective-C在运行时可以允许根据字符串名字来访问方法和类,还可以动态连接和添加类。C++跟从面向对象编程里的Simula67(一种早期OO语言)学派,而Objecive-C属于Smalltalk学派。在C++里,对象的静态类型决定你是否可以发送消息给它,而对Objective-C来说,由动态类型来决定。Simula67学派更安全,因为大部分错误可以在编译

8、时查出。而Smalltalk学派更灵活,比如一些Smalltalk看来无误的程序拿到Simualr67那里就无法通过。从很多方面来看,C++和Objective-C的差别,与其说时技术上的,不如说是思维方式上的。你是否想更安全而舍弃灵活性?Simular67学派的支持者声称既然程序设计出色何必再要灵活性,而Smalltalk学派则

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。