【Objective-C】OC中类的继承

【Objective-C】OC中类的继承

原创

jiangqq900826 ©著作权

文章标签 继承 objective-c 文章分类 移动开发

©著作权归作者所有:来自51CTO博客作者jiangqq900826的原创作品,请联系作者获取转载授权,否则将追究法律责任

1:为什么要有继承关系?

  定义一个通用的类,它又基本的实例变量。子类可以继承了该类,就可以拥有这些实例变量。子类也可以定义自己的实例变量。

  

  被继承的类叫超类或者父类(superclass),继承超类的类叫做子类(subclass)。

OC中继承的语法规则为:

   @interface 子类:父类

2:接下来看实例代码

  首先是ClassA.h

   

// //  ClassA.h //  ClassAB // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import <Foundation/Foundation.h>  @interface ClassA : NSObject {     int x; } -(void)initVar; @end
  ClassA.m
  
// //  ClassA.m //  ClassAB // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "ClassA.h"  @implementation ClassA  -(void)initVar{     x=100; } @end 
ClassB.h
  
// //  ClassB.h //  ClassAB // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "ClassA.h"  @interface ClassB : ClassA  -(void)printVar;  @end 
ClassB.m
  
// //  ClassB.m //  ClassAB // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import "ClassB.h"  @implementation ClassB -(void)printVar{     NSLog(@"x= %d\n",x); } @end 
Main.m
   
// //  main.m //  ClassAB // //  Created by hmjiangqq on 14-1-22. //  Copyright (c) 2014年 hmjiangqq. All rights reserved. //  #import <Foundation/Foundation.h> #import "ClassB.h" int main(int argc, const char * argv[]) {      @autoreleasepool {                  // insert code here...         NSLog(@"Hello, World!");         ClassB *b=[[ClassB alloc]init];         [b initVar];  //父类中的方法         [b printVar];     }     return 0; } 
【Objective-C】OC中类的继承_类
  • 收藏
  • 评论
  • 举报
提问和评论都可以,用心的回复会被更多人看到 评论
发布评论
相关文章

举报文章

请选择举报类型

内容侵权 涉嫌营销 内容抄袭 违法信息 其他

具体原因

包含不真实信息 涉及个人隐私

补充说明

0/200

上传截图

格式支持JPEG/PNG/JPG,图片不超过1.9M

已经收到您得举报信息,我们会尽快审核