《Objective-C基础教程》第四章 继承
来源:互联网 发布:aes算法加密过程 编辑:程序博客网 时间:2024/05/07 23:05
处理对象和类的关系时,尤其要注意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 小结
- 《Objective-C基础教程》第四章 继承
- Objective-C学习笔记第四章继承
- Objective-C基础教程2(继承和复合)
- Objective-C基础教程2(继承和复合)
- 《Objective-C基础教程》第5章 复合
- 《Objective-C基础教程》第6章 源文件组织
- 《Objective-C基础教程》第7章 深入了解Xcode
- 《Objective-C基础教程》第8章 Foundation Kit 介绍
- 《Objective-C基础教程》第10章 对象初始化
- 《Objective-C基础教程》第11章 属性
- 《Objective-C基础教程》第12章 类别
- 《Objective-C基础教程》第13章 协议
- Objective-C 程序设计 第四章
- 《Objective-C基础教程》学习笔记第二章
- 《Objective-C基础教程》学习笔记第八章
- 《Objective-C基础教程》第11章 属性
- 《Objective-C基础教程》第12章 类别
- 《Objective-C基础教程》第13章 协议
- 利用数组实现缓存实例的不可变类
- 暑假集训第四周阶段二DP A - 最长公共子序列
- JNDI配置c3p0连接池
- hdu-3008魔兽争霸
- [译]Front-end-Developer-Interview-Questions
- 《Objective-C基础教程》第四章 继承
- poj1753 Flip Game DFS,枚举
- Best Time to Buy and Sell Stock II
- [Learning Linux For Fun] unit 1 1.2~1.3
- leetcode_Median of Two Sorted Arrays
- LeetCode(116) Populating Next Right Pointers in Each Node
- 智慧城市
- UE4 移动平台游戏开发
- iOS 9之分屏多任务(Split View)