[Objective-C]OC中类的继承

2014-11-23 17:55:16 · 作者: · 浏览: 11

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 
      
       

@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 
      
        #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; } 
      
\