Что может подразумеваться под корнем класса?

Рейтинг: 1Ответов: 1Опубликовано: 29.09.2014

В одном из вопросов на данном форуме увидел вот такое утверждение:
"Objective-c не поддерживает множественное наследование, НО поддерживает несколько корней."
Что подразумевается под словом корень? Речь идет о том, что любой класс может удовлетворять нескольким интерфейсам?

Ссылка на оригинальный вопрос:
Типичные ошибки программирования на Objective-C

Ответы

▲ 2Принят

В документации сказано, что "корень" в Objective-C один:

When an Objective-C object needs to work with an instance of another class, it is expected that the other class offers certain basic characteristics and behavior. For this reason, Objective-C defines a root class from which the vast majority of other classes inherit, called NSObject. When one object encounters another object, it expects to be able to interact using at least the basic behavior defined by the NSObject class description.

When you’re defining your own classes, you should at a minimum inherit from NSObject. In general, you should find a Cocoa or Cocoa Touch object that offers the closest functionality to what you need and inherit from that.

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/DefiningClasses/DefiningClasses.html