OC-5-三大特性:继承
来源:互联网 发布:怎么查4g网络覆盖 编辑:程序博客网 时间:2024/05/16 16:01
---------- CornerFly真诚期待与您交流! ----------
一、继承的基本用法
1、设计两个类Bird、Dog
// Bird的声明@interface Bird : NSObject{@publicint weight;}- (void)eat;@end// Bird的定义@implementation Bird- (void)eat {NSLog(@"吃吃吃-体重:%d", weight);}@end// Dog的声明@interface Dog : NSObject{@publicint weight;}- (void)eat;@end// Dog的定义@implementation Dog- (void)eat {NSLog(@"吃吃吃-体重:%d", weight);}@end
2、这两个类有相同的属性,可以抽取一个父类Animal。
// Animal的声明@interface Animal : NSObject{@publicint weight;}- (void)eat;@end// Animal的定义@implementation Animal- (void)eat{NSLog(@"吃吃吃-体重:%d", weight);}@end
3、子类可以在父类的基础上拓充属性和方法
// Bird的声明@interface Bird : Animal{@publicint height;}- (void)fly;@end// Bird的定义@implementation Bird- (void)fly{NSLog(@"飞飞飞-高度:%d", height);}@end// Dog的声明@interface Dog : Animal{@publicint speed;}- (void)run;@end// Dog的定义@implementation Dog- (void)run{NSLog(@"跑跑跑-高度:%d", speed);}@end
二、继承的使用场合
1、当两个类拥有相同属性和方法的时候,就可以将相同的东西抽取到一个父类中去
2、当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类
三、继承的好处和坏处
1、可以在不改变原来模型的基础上,拓充方法
2、建立了类与类之间的联系
3、抽取了公共代码
4、坏处:耦合性强
四、使用注意
1、子类方法和属性的访问过程:如果子类没有,就去访问父类的
2、不允许父类和子类拥有相同名称的成员变量
3、子类重新实现父类中的某个方法(重写),会覆盖父类以前的做法。
4、NSObject是全部OC类的最终父类。
5、OC中的继承是单继承,也就是一个类不可以继承两个或者两个以上的类。
五、继承和组合
1、当A类是B类时,可以让A类继承B类。
2、当A类拥有B类时,使用组合。
六、super
1、作用
1>直接调用父类中的某个方法。
2>super处在对象方法中,那么就调用父类的对象方法。
super处在类方法中,就会调用父类的类方法。
2、使用场合:子类重写父类的方法时想保留父类的方法时。
3、代码示例
#import <Foundation/Foundation.h>// 僵尸@interface Zoombie : NSObject- (void)walk;+ (void)test;- (void)test;@end@implemmentation Zoombie+ (void)test{NSLog(@"Zoombie+test");}- (void)test{NSLog(@"Zoombie-test");}- (void)walk{NSLog(@"往前挪两步******");}@end// 跳跃僵尸@interface JumpZoombie : Zoombie+ (void)haha;- (void)haha2;@end@implementation JumpZoombie+ (void)haha{[super test];}- (void)haha2{[super test];}- (void)walk{// 跳两下NSLog(@"跳两下");// 走两下(直接调用父类的walk方法)[super walk];NSLog(@"网前挪两步------");}@endint main(){//[JumpZoombie test];JumpZoombie *jz = [JumpZoombie new];//[jz walk];[jz haha2];return 0;}
0 0
- OC-5-三大特性:继承
- OC的三大特性之继承
- OC---三大特性
- OC三大特性
- OC三大特性
- OC基础—三大特性之继承
- OC三大特性之继承和多态
- OC温故:类的三大特性(封装,继承,多态)
- 黑马程序员——OC三大特性-6:继承
- OC语言-三大特性之封装继承多态
- OC温故:类的三大特性(封装,继承,多态)
- 黑马程序员--OC的三大特性 封装 继承 多态
- OC三大特性之一:继承的介绍
- OC中的类的三大特性:继承,封装,多态
- 黑马程序员 5 oc三大特性
- 六---oc三大特性
- OC语言三大特性
- OC语言三大特性
- 数据结构—红黑树
- ffmpeg用法
- Monkey Log分析
- Evision显示器无法设置1440*900分辨率的问题解决
- 我与有限元——初生牛犊------永远的有限元大师MIT的Klaus-Jürgen Bathe教授
- OC-5-三大特性:继承
- ‖ ‖ 范数
- Angularjs input输入框值,被选中
- nginx访问日志,错误日志参数说明
- PRML-系列二之2.3
- 关于事务的操作功能描述
- 工作记录
- 百度地图的开发(2)
- <br/>与\n的区别