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; } |
相关文章
- 12-23python中的类
- 12-23Spring使用RowMapper将数据中的每一行封装成用户定义的类
- 12-23关于boost中enable_shared_from_this类的原理分析
- 12-23类库文件引用web服务报错解决方法-在 ServiceModel 客户端配置部分中,找不到引用协定的默认终结点元素
- 12-23c-在模板化类的可变参数模板中包装每种类型
- 12-23第44课 继承中的访问级别
- 12-23c-在共享库的类中调用GSL函数
- 12-23sizeof与类,继承,virtual的种种
- 12-23SpringAOP在一个实现类中定义自身的方法, 无法调用, 只能调用实现接口的方法
- 12-23练习2 练习目标-使用引用类型的成员变量:在本练习中,将扩展银行项目,添加一个(客户类)Customer类。Customer类将包含一个Account对象。