CCSprite的超类

时间:2012-05-21 11:54:57

标签: ios cocos2d-iphone subclass superclass ccsprite

经过一番研究,我在超级课上找不到任何东西,所以我决定在这里问一下。

示例

@interface superClass : CCSprite
@end

@interface subClass : superClass
@end

以上两个例子如何相互关联?另外,我被证明你可以在superClass中添加一个方法,然后在subClass中使用它(怎么样?)?

1 个答案:

答案 0 :(得分:1)

CCSpritesuperClass的超类 superClasssubClass

的超类

在超类中有两种使用方法的方法,例如

@interface superClass : CCSprite
- (void)doSomething;
- (id)somethingElse;
@end

@implement superClass
- (void)doSomething {
    NSLog( @"do something in super class" );
}
- (id)somethingElse {
    return @"something else in super class";
}
@end

@interface subClass : superClass
- (void)doSomethingTwice;
@end
@implement subClass
- (void)doSomethingTwice {
    [self doSomething];
    [self doSomething];
}
- (id)somethingElse {
    id fromSuper = [super somethingElse];
    return @"something else in sub class";
}
@end

subClass sub = [[subClass alloc] init];
[sub doSomethingTwice];   // this will call `doSomething` implemented is superClass twice
NSLog([sub somethingElse]); // this will call `somethingElse` in super class but return "something else in sub class" because it override it

基本上你可以在子类的实例上调用超类中实现的方法

你可以覆盖子类中的方法来做一些不同的事情和/或使用[super methodName]来调用超类中的方法实现