类方法也继承了吗?

ray*_*ray 5 inheritance subclass objective-c class-method

当我定义一个继承自的新类时NSObject:

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

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

@end
Run Code Online (Sandbox Code Playgroud)

是新类继承的所有类方法(如alloc)吗?NSObjectPhoto

cho*_*own 5

是的,Photo可以在子类时使用任何方法/属性/ ivar/etc(除了那些声明的iVars @private):NSObjectNSObject

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]);
Run Code Online (Sandbox Code Playgroud)

更多关于@private- > SO问题:什么是私人意味着目标-c

NSObject 课程参考