您的位置:首页 > 其它

OC--继承的相关特性

2015-08-31 22:33 169 查看

继承的相关特性

方法重写

在子类中实现与父类中同名的方法,称之为方法重写;

重写以后当给子类发送这个消息的时候,执行的是在子类中重写的那个方法,而不是父类中的方法;

如果想在子类中调用被子类重写的父类的方法,可以通过super关键字;

[super 父类方法名称];


方法重写后,子类对象调用该方法,会直接调用子类中的方法,不会调用父类中的方法.

方法重写的使用场景

当从父类继承的某个方法不适合子类,可以在子类中重写父类的这个方法。

继承中方法的调用顺序

1、在自己类中找;

2、如果没有,去父类中找;

3、如果父类中没有,就去父类的父类中;

4、如果父类的父类也没有,就还往上找,直到找到基类(NSObject);

5、如果NSObject都没有就报错了.

如果找到了就执行这个方法,就不再往后查找了.

继承的注意事项

子类不能定义和父类同名的成员变量,私有成员变量也不可以;因为子类继承父类,子类将会拥有父类的所有成员变量,若在子类中定义父类同名成员变量 属于重复定义。

OC类支持单一继承,不支持多继承;也就是说一个类只能有一个直接父类

OC类支持多层继承

super关键字

super是个编译器的指令符号,只是告诉编译器在执行的时候,去调谁的方法.

super的作用

1.直接调用父类中的某个方法;

2.super在对象方法中,那么就会调用父类的对象方法;super在类方法中,那么就会调用父类的类方法.

super的使用场景

子类重写父类的方法时想保留父类的一些行为.

想在子类中调用父类的方法时可以使用super;

想在给父类方法进行扩展的同时保留父类的方法,那么可以使用super调用父类同名的方法.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息