覆盖方法

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

示例一

main.m

  1. #import <Foundation/Foundation.h>
  2.  
  3. // ClassA 的声明和定义
  4. @interface ClassA : NSObject
  5. {
  6. int x; // 将由子类继承
  7. }
  8. -(void) initVar;
  9. @end
  10. ////////////////////////////
  11. @implementation ClassA
  12. -(void) initVar
  13. {
  14. x = 100;
  15. }
  16. @end
  17.  
  18. // ClassB 的声明和定义
  19. @interface ClassB : ClassA
  20. -(void) initVar;
  21. -(void) printVar;
  22. @end
  23. ////////////////////////////
  24. @implementation ClassB
  25. // 覆盖父类的initVar方法
  26. -(void) initVar
  27. {
  28. x = 200;
  29. }
  30. -(void) printVar
  31. {
  32. NSLog(@"x = %i", x);
  33. }
  34. @end
  35.  
  36. int main(int argc, const char * argv[]) {
  37. @autoreleasepool {
  38. ClassB *b = [[ClassB alloc] init];
  39. [b initVar]; //调用B中覆盖的方法
  40. [b printVar];
  41. }
  42. return 0;
  43. }

运行测试
111.png

标签: Objective-C

Powered by emlog  蜀ICP备18021003号-1   sitemap

川公网安备 51019002001593号