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; } @endClassB.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; @endClassB.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); } @endMain.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; }