【Objective-C】OC中类的继承

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中类的继承

【Objective-C】OC中类的继承

上一篇:/bin/bash too many files in system


下一篇:2014年数学建模美赛题目原文及翻译[思路]