2

David Chisnall的“ Objective-C for Java Programmers,第 1 部分”介绍说

因为可以有多个基类,Objective-C 引入了 id 类型来表示指向某种对象的指针。您可以在任何对象类型和 id 之间隐式转换。

据我所知,Objective-C 是单继承(就像 Java,但不像 C++)。

那么“多个基类”是什么意思(在这种情况下)?

4

1 回答 1

3

这意味着您可以定义自己的根或“基”类。

@interface MyRootClass
@end

请注意,它不继承自NSObject.

在实践中,这永远不会完成,因为所述类不能真正与其他系统 API 互操作地使用,因为它们都期望NSObject继承行为。

不过,这并不是这种类型背后的真正动机id。类型意味着,从id字面上看,这个对象引用可以是任何类的实例

可能有多个基类是完全正交的。

不,实施NSObject @protocol还不够好。

于 2012-09-28T17:58:58.517 回答