Методы класса тоже наследуются? - PullRequest
5 голосов
/ 26 октября 2011

Когда я определяю новый класс, наследующий от NSObject:

@interface Photo : NSObject
{
    NSString* caption;
    NSString* photographer;
}

@property NSString* caption;
@property NSString* photographer;

@end

все ли методы класса (например, alloc) в NSObject унаследованы новым классом Photo?

1 Ответ

5 голосов
/ 26 октября 2011

Да, Photo может использовать любой метод / свойство / ivar / и т. Д. (За исключением тех iVars, объявленных @private) из NSObject, когда вы подкласс NSObject:

Photo *myPhoto;
myPhoto = [[Photo alloc] init];
// ... Do some myPhoto stuff ...
NSLog(@"Photo object: %@", myPhoto);
NSLog(@"Photo description: %@", [myPhoto description]);
NSLog(@"Photo caption: %@", [myPhoto caption]);
NSLog(@"Photo photographer: %@", [myPhoto photographer]);

Подробнее о @private -> SO Вопрос: что такое личное значение в объективе-c

NSObject Ссылка на класс

...