一、面向过程
1> 思想
2> 开发方法
3> 优缺点
优点
① 能够编写高效的代码
② 在小型的流程清晰的程序设计方面有一定的优势
缺点
① 编写的代码可重用性低,开发效率较低
② 难以或无法完成流程复杂的程序设计任务
二、面向对象
1> 思想
概念
① 对象:人们进行研究的一切事物,包括具体事物和抽象事物。具有一
定的状态和行为,封装了数据和操作。
② 类:具有相同或相似属性对象的抽象。抽象了对象的状态和行为,形
成类的属性和操作。具有分类和组装两种不同的结构。
③ 消息:对象之间进行通信的机制。
特征
① 唯一性:通过唯一的标示来标记不同的对象,标示在对象生命周期内
不能改变。
② 分类性:具有一致数据结构和行为的对象抽象成的类
③ 继承性:子类主动共享父类数据结构和方法的机制。包括单继承和多
继承(oc语言是单继承)。是面向对象开发中最重要的特征。
④ 多态性:不同的对象调用相同的操作或函数会产生不同的结果
主要思想
① 万物皆对象的思想,更加符合人们认识世界的过程
③ 主要考虑的是解决问题所涉及的对象,将对象的属性和相关操作封装
在一起,通过消息机制来实现对象之间的通信。
2> 开发方法
分析需求
建立对象模型
① 确定类
② 准备数据字典
③ 确定关联
④ 确定属性
⑤ 使用继承来细化对象
⑥ 完善对象模型
建立动态模型
① 准备脚本,脚本又叫宏或批处理文件
② 确定事件
③ 准备事件跟踪表
④ 构造状态图
功能建模
① 确定输入输出值
② 建立数据流图
确定类的操作
3> 优缺点
优点
① 比面向过程思想的代码重用率高
② 比面向过程思想的结构清晰
③ 实现了封装,降低了外部操作内部数据的风险
④ 包含了面向过程思想
缺点
① 由于实现了封装,操作内部数据将增加工作量
② 由于进行对象及与对象相关的抽象, 会消耗相应的时间和空间代价,
性能较低