目标c类的默认基类

时间:2011-06-01 15:13:50

标签: iphone objective-c ios oop

这个问题的答案可能很明显,但我需要确定一下:

如果在类定义中未明确定义基类,那么所有目标c类是否共享一个公共默认基类?

1 个答案:

答案 0 :(得分:13)

不,如果您没有在类定义中明确定义超类,那么您正在创建root class

来自Cocoa Core Competencies

根类不从其他类继承,并定义了它下面的层次结构中所有对象共有的接口和行为。该层次结构中的所有对象最终都从根类继承。根类有时被称为基类。

所有Objective-C类的根类都是NSObject,它是Foundation框架的一部分。 Cocoa或Cocoa Touch应用程序中的所有对象最终都从NSObject继承。此类是主要访问点,其他类与Objective-C运行时交互。它还声明了基本的对象接口并实现了基本的对象行为,包括内省,内存管理和方法调用。 Cocoa和Cocoa Touch对象可以在很大程度上从根类开始表现为对象。

enter image description here

Foundation框架定义了另一个根类NSProxy,但是这个类在Cocoa应用程序中很少使用,从不在Cocoa Touch应用程序中使用。

另见: