您的位置:首页 > 移动开发 > Objective-C

《Objective-C基础教程》第四章 继承

2015-08-07 13:04 381 查看
处理对象和类的关系时,尤其要注意OPP的两个方面:继承(inheritance)和符合(composition)。

1、使用继承可以定义一个具有父类所有功能的新类,即它继承了父类的所有功能

2、使用复合可以在对象中引用其他对象

4.1 为何使用继承

编程时出现重复的内容常常意味着这事一个失败的架构(修改代码时需要修改多处),使用继承将所有重复的内容合并在一处。

4.2 继承的语法格式

@interface Circle:NSObject//NSObject就是需要继承的类


如果使用Cocoa框架,就需要继承NSObject类(它提供了大量有用的特性)。还记得checklists中的尖括号吗,里面的是协议。

注意,Objective-C不支持多继承,但可以通过类别或者协议等来达到多继承的效果。

有关术语:

超类(superclass)是继承的类,例如Circle的超类是Shape

父类(parent class),例如Circle的父类是Shape

子类(subclass)执行继承的类,Circle是Shape的子类

孩子类(child class),Circle是Shape的孩子类

重写(override),改变父类中方法的实现,需要重写继承的方法。

注:超类与子类成对,父类与孩子类成对,只是表达方式不同而已

4.3 继承的工作机制

4.3.1 方法调度

在向子类发送消息时,跳读程序先查询子类中的代码是否能够响应该消息,如果不能,将在超类中寻找响应的方法并实现。

4.3.2 实例变量

创建一个新类时,其对象会从它的超类继承实例变量,然后根据自身情况添加自己的实例变量

4.4 重写方法

重写方法:当向子类发送消息时,将调用重写后的方法,而忽略超类中定义的方法

super 关键字

为了调用继承的方法在父类中的实现,需要使用super作为方法调用的目标

向super发送消息时,实际上是在请求Objective-C向超类发送消息。如果超类中没有定义该消息,继续在上一级中查找

4.5 小结

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: