首页 > 代码库 > OC三大特性之继承
OC三大特性之继承
一.基本概念
继承是面向的三大特征之一,指的是在一个类的基础上,定义一个新类;原本的类成为父类(基类),新类称为子类(派生类)。
生活中,继承的例子也是数不胜数,比如一个儿子继承了他父亲,那么他就享受他父亲的财产了,当然不是全部,详细解释见下文。
在这里Animal是Dog类和Brid类的父类。
继承的好处:
- 抽取出了重复的代码
- 建立了类和类之间的联系
- 不改变原来模型的基础上,拓充方法
继承的缺点:
- 耦合性太强
二.OC中的继承
@interface Animal:NSObject//动物里继承了NSObject,获得NSObject类的方法;@end @interface Dog :Animal//dog类继承Animal类@end@interface Brid:Animal//Brid类继承Animal类@end
三.编程的使用注意
- 父类必须声明在子类的前面
- 子类不能拥有和父类相同的成员变量
- 调用某个方法时,优先去当前类中找,如果找不到,去父类中找
四.继承的使用场合
- 它的所有属性都是你想要的,一般就继承
- 它的部分属性是你想要的,可以抽取出另一个父类
五.关键字super
Super关键字,在子类中重写方法时,可以让调用者跳过这一层而调用父类中的方法。
作用:
(1)直接调用父类中的某一个方法
(2)Super处在对象方法中,那么就会调用父类的对象方法;super处于类方法中,那么就会调用父类的类方法。
使用场景:子类在重写父类方法时,想要保留父类的一些行为。
#import <Foundation/Foundation.h>@interface Person : NSObject{ int _age;}- (void)setAge:(int)age;- (int)age;- (void)test;@end@implementation Person- (void)setAge:(int)age{ self->_age = age;}- (int)age{ return self->_age;}- (void)test{ // self:指向了方向调用者,代表着当期对象 int _age = 20; NSLog(@"Person的年龄是%d岁", self->_age);}@endint main(){ Person *p = [Person new]; [p setAge:10]; [p test]; return 0;}
OC三大特性之继承
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。