覆盖方法

作者:追风剑情 发布于:2019-2-22 14:03 分类:Objective-C

示例一

main.m

#import <Foundation/Foundation.h>

// ClassA 的声明和定义
@interface ClassA : NSObject
{
    int x; // 将由子类继承
}
-(void) initVar;
@end
////////////////////////////
@implementation ClassA
-(void) initVar
{
    x = 100;
}
@end

// ClassB 的声明和定义
@interface ClassB : ClassA
-(void) initVar;
-(void) printVar;
@end
////////////////////////////
@implementation ClassB
// 覆盖父类的initVar方法
-(void) initVar
{
    x = 200;
}
-(void) printVar
{
    NSLog(@"x = %i", x);
}
@end

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        ClassB *b = [[ClassB alloc] init];
        
        [b initVar]; //调用B中覆盖的方法
        [b printVar];
    }
    return 0;
}

运行测试
111.png

标签: Objective-C

Powered by emlog  蜀ICP备18021003号   sitemap

川公网安备 51019002001593号