设为首页 加入收藏

TOP

[Objective-C]OC中类的继承
2014-11-23 17:55:16 来源: 作者: 【 】 浏览:7
Tags:Objective-C 继承

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; } 
      
\
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇[Objective-C]OC中字典基本概念和.. 下一篇[Objective-C]OC中对象创建,self,..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: