第十二章 面向对象实现
? 程序设计语言
? 程序设计风格
? 面向对象测试
程序设计语言
? 12.1.1 面向对象的语言与非面向对象的语言
? 12.1.2 面向对象语言的技术特点
? 12.1.3 选择面向对象语言
程序设计语言
? 面向对象的语言与非面向对象的语言
? 一致的表示方法
? 可重用性
? 可维护性
程序设计语言
? 面向对象语言的技术特点
? 支持类与对象概念的机制
? 实现整体 — 部分结构的机制
? 实现一般 — 特殊结构的机制
? 实现属性和服务的机制
? 类型检查
? 类库
? 效率
? 持久保存对象
? 参数化类
? 开发环境
程序设计语言
? 选择面向对象语言
? 将来能否占主导地位
? 可重用性
? 类库和开发环境
? 其他因素
程序设计风格
? 12.2.1 提高可重用性
? 12.2.2 提高可扩充性
? 12.2.3 提高健壮性
程序设计风格
? 提高可重用性
? 提高方法的内聚
? 减少方法的规模
? 保持方法的一致性
? 把策略与现实分开
? 全面覆盖
? 尽量不使用全局信息
? 利用继承机制
程序设计风格
? 提高可扩充性
? 封装实现策略
? 不要用一个方法遍历多条关联链
? 避免使用多分支语句
? 精心确定共有方法
? 提高健壮性
? 预防用户的操作错误
? 检查参数的合法性
? 不要预先确定限制条件
? 先测试后优化
面向对象测试
? 算法层
? 相当于单元测试
? 类层
? 模块测试
? 主题层
? 测试类 --&--对象之间的相互作用
? 系统层
? 组装过程中的测试
? 程序设计语言
? 程序设计风格
? 面向对象测试
程序设计语言
? 12.1.1 面向对象的语言与非面向对象的语言
? 12.1.2 面向对象语言的技术特点
? 12.1.3 选择面向对象语言
程序设计语言
? 面向对象的语言与非面向对象的语言
? 一致的表示方法
? 可重用性
? 可维护性
程序设计语言
? 面向对象语言的技术特点
? 支持类与对象概念的机制
? 实现整体 — 部分结构的机制
? 实现一般 — 特殊结构的机制
? 实现属性和服务的机制
? 类型检查
? 类库
? 效率
? 持久保存对象
? 参数化类
? 开发环境
程序设计语言
? 选择面向对象语言
? 将来能否占主导地位
? 可重用性
? 类库和开发环境
? 其他因素
程序设计风格
? 12.2.1 提高可重用性
? 12.2.2 提高可扩充性
? 12.2.3 提高健壮性
程序设计风格
? 提高可重用性
? 提高方法的内聚
? 减少方法的规模
? 保持方法的一致性
? 把策略与现实分开
? 全面覆盖
? 尽量不使用全局信息
? 利用继承机制
程序设计风格
? 提高可扩充性
? 封装实现策略
? 不要用一个方法遍历多条关联链
? 避免使用多分支语句
? 精心确定共有方法
? 提高健壮性
? 预防用户的操作错误
? 检查参数的合法性
? 不要预先确定限制条件
? 先测试后优化
面向对象测试
? 算法层
? 相当于单元测试
? 类层
? 模块测试
? 主题层
? 测试类 --&--对象之间的相互作用
? 系统层
? 组装过程中的测试