2. 1.Objective-C 简介 欢迎来到 Objective-C 的领地! 本文将介绍 Objective-C 的历史,以及相关特性和概要简介。 1983 年, Objective-C 诞生了。 1985 年, Next 公司使用 Objective-C 开发出了 nextstep 操作系统 1997 年, apple 收购了 Next 公司,在 nextstep 基础上,开始设计 Mac OS 。 2001 年, apple 正式发布 Mac OS X 2007 年, apple 发布 iphone.................. Objective-C: 一种面向对象的语言标准 c 语言的一个超集,使用的是 smalltalk 风格单继承,每个类最多只有一个父类动态运行,大部分都是工作时才知道 Objective-C 不同于 C++ : 不支持操作符重载,模版和多重继承。
3. 2.Objective-C 与 C++ 每个 Objective-C 对象都隐藏着一个数据结构,它的第一个成员变量或者说实例变量是 "isa" 指针。 isa 指针指向的是对象的类,这个类也是一个对象,有自己的权限,是根据类的定义编译而来的。类对象负责维护一个方法调度表,该表实际上是由指向类方法的指针组成的。类对象中还保留一个超类的指针,该指针又有自己的方法调度表和超类。 isa 指针对消息分发机制和 cocoa 对象的动态能力很重要。 C++ 与 Objective-C 最大的区别在于分配方法的机制不同, C++ 是基于虚拟表机制确定虚函数调用什么代码,而 Objective-C 使用运行时,函数进入各种类结构中查找相应的代码以供调用。这么一比,很明显 C++ 的效率要高的多,正因如此,我们要明确的是, Objective-C 牺牲了一定的速度和安全,换来了灵活和便捷,这是一种权衡利弊的做法。