Objective-C

授权协议 未知
开发语言 C/C++
所属分类 开发工具、 C/C++开发工具
软件类型 开源软件
地区 不详
投 递 者 公良浩邈
操作系统 OS X
开源组织
适用人群 未知
 软件概览

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

Objective-C 是非常「实际」的语言。它使用一个用 C 写成、很小的运行库,只会令应用程序的大小增加很小,和大部分 OO 系统使用极大的 VM 执行时间会取代了整个系统的运作相反。ObjC 写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和 Smalltalk 系统要使用极大的存储器来开启一个窗口的情况相反。

Objective-C 的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到 Smalltalk 回收时有漫长的「死亡时间」,令整个系统失去功用。Objective-C 为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是 GNUstep), Apple 在其 Mac OS X 10.3中仍未引入这个功能。

另一个问题是 ObjC 不包括命名空间机制(namespace mechanism)。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在 Cocoa 编程环境中,所有 Mac OS X 类别和函式均有「NS」作为前缀,例如 NSObject 或 NSButton 来清楚分辨它们属于 Mac OS X 核心;使用「NS」是由于这些类别的名称在 NeXTSTEP 开发时定下。

虽然 Objective-C 是 C 的超集,但它也不视 C 的基本型别为第一级的对象。

和 C++不同,Objective-C 不支援运算子多载(它不支持ad-hoc多型)。亦与 C++不同,但和 Java 相同,Objective-C 只容许物件继承一个类别(不设多重继承)。Categories 和 protocols 不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。

 

  • Objective-C是一种面向对象的、由 C++语言引入的面向对象编程语言。它为应用程序提供了一个很好的基础结构和模块,在程序设计中,用来构建一个复杂的系统。它为多用户系统提供了一个可以在多个系统上运行的能力。Objective-C具有许多特性,如:不依赖对象;无时效性;与 C++进行集成;支持外部用户程序。除了支持多种编程语言外,它还提供了非常简单的开发方法,这些方法可以在不需要占用太多资源的

  • [简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 编程生涯: 2001年~至今[共21年] 职业生涯: 19年 开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse 技能种类: 逆向 驱动 磁盘 文件 研发领域: Window

  • 一、简介 Objective-C是一种以C为基础,并结合Smalltalk特征扩充出来的面向对象语言,该语言于20世纪80年代初由 Brad J.Cox 创建。1988年,NeXT 公司获得了Objective-C语言的授权; 1996 年,Apple 公司收购了 NeXT 公司,这样 Objective-C 语言就变成了 Apple 公司的"御用"编程语言。2007年,Apple 公司发布了Ob

  • 一、NSRange结构体 1.这个结构体,是Foundation框架中定义的1个结构体 这个结构体一般是来干嘛的 这个结构体的变量一般是来表示什么数据的 看它的定义啊 typedef struct _NSRange { NSUInteger location; //代表子串在主串中出现的下标 NSUInteger length; //代表子串在主串中匹配的长度 } NSRange; 它有几个属性啊

  • 1)实例方法和对象方法 C++语言中,对象方法的写法可能是: void hello(bool ishello) { ...... } C++语言中,类的方法的写法可能是: static void hello(bool ishello) { ...... } 用Objective-C写出来的对象方法就是 -(void) hello:(BOOL)ishello { ...... } 用Objectiv

  • 一、说这个NSArray之前呢,我们先回忆 1.回忆什么呢,回忆我们C语言当中学的数组 C语言的数组,它有什么特点呢,第一个特点 1)存储多个数据 2)类型相同 3)长度固定 4)每一个元素在内存中都是挨的紧紧的, 每一个元素都是紧密相连的 2.在Objective-C中,有更好用的数组,你不需要关心内存的细节,你只要把它当成一个对象来看待就可以了 它就是NSArray 1)这家伙,仍然是个类,

 相关资料
  • Objective-CL 是一个 Objective-C 桥努力实现 Common Lisp 语言和操作系统支持,当前它支持 Mac OS X/Cocoa/PowerPC and Linux/GNUstep/x86,

  • Objective-C Runtime Runtime 是什么? Runtime 是 Objective-C 区别于 C 语言这样的静态语言的一个非常重要的特性。对于 C 语言,函数的调用会在编译期就已经决定好,在编译完成后直接顺序执行。但是 OC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题。 对

  • Posing,顾名思义,意思是“冒充”,它跟类似,但本质上不一样,Posing存在的目的在于子类可以冒充父类,使得后续的代码无需把父类修改为子类,就可以很方便的让父类表现成子类的行为,从而实现非常方便的冒充,这在一般的语言中是难以想象的。 在开始在Objective-C中进行构建之前,提醒读者注意,在Mac OS X 10.5中声明已经弃用了冒充(Posing),并且之后无法使用它。 因此对于那些

  • Objective-C类定义了一个将数据与相关行为相结合的对象。 有时,仅表示单个任务或行为单元而不是方法集合是有意义的。 块是C,Objective-C和C++等编程语言中的高级功能,它允许创建不同的代码段,这些代码段可以传递给方法或函数,就像它们是值一样。 块是Objective-C对象,因此它们可以添加到或等集合中。 它们还能够从封闭范围中捕获值,使其类似于其他编程语言中的闭包或。 简单块声

  • TweetPhoto Objective-C 库是一组 Objective-C 的类用来让开发者可以快速使用 TweetPhone 的共享 API。 示例代码: import "TweetPhoto.h" TweetPhoto * tweetPhoto = [[TweetPhoto alloc] initWithSetup:@"_username_" identitySecret:@"_passw

  • SCLAlertView-Objective-C 是 Objective-C 版本的 SCLAlertView-Swift 端口。