- 4
- 0
- 约9.45千字
- 约 49页
- 2018-11-29 发布于天津
- 举报
软件质量保证与测试PPT课件第8章 高质量编程教学幻灯片.ppt
8.3.2 面向对象的设计规则 比较面向对象程序设计和面向过程程序设计,还可以得到面向对象程序设计的其他优点: 数据抽象的概念可以在保持外部接口不变的情况下改变内部实现,从而减少甚至避免对外界的干扰; 通过继承大幅减少冗余的代码,并可以方便地扩展现有代码,提高编码效率,也减低了出错概率,降低软件维护的难度; 结合面向对象分析、面向对象设计,允许将问题域中的对象直接映射到程序中,减少软件开发过程中中间环节的转换过程; 通过对对象的辨别、划分可以将软件系统分割为若干相对为独立的部分,在一定程度上更便于控制软件复杂度; 以对象为中心的设计可以帮助开发人员从静态(属性)和动态(方法)两个方面把握问题,从而更好地实现系统; 通过对象的聚合、联合可以在保证封装与抽象的原则下实现对象在内在结构以及外在功能上的扩充,从而实现对象由低到高的升级。 开-闭原则(Open-Closed Principle,OCP) 开-闭原则的定义及优点 实现“开-闭”原则 对可变性的封装原则 里氏代换原则(Liskov Substitution Principle,LSP) 里氏代换原则的定义 定义:如果对每一个类型为T1的对象O1,都有类型为T2 的对象O2,使得以T1定义的所有程序P在所有的对象O1都代换为O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。 即,一个软件实体如果使用的是一个基类的话,那么一定适用于其子类。而且它觉察不出基类对象和子类对象的区别。也就是说,在软件里面,把基类都替换成它的子类,程序的行为没有变化。 反过来的代换不成立,如果一个软件实体使用的是一个子类的话,那么它不一定适用于基类。任何基类可以出现的地方,子类一定可以出现。基于契约的设计、抽象出公共部分作为抽象基类的设计。 里氏代换原则与“开-闭”原则的关系 实现“开-闭”原则的关键步骤是抽象化。基类与子类之间的继承关系就是抽象化的体现。因此里氏代换原则是对实现抽象化的具体步骤的规范。违反里氏代换原则意味着违反了“开-闭”原则,反之未必。 依赖倒转原则(dependence inversion principle,DIP) 接口实例 /** Interface IManeuverable provides the specification for a maneuverable vehicle */ public interface IManeuverable{ public void left(); public void right(); public void forward(); public void reverse(); public void climb(); public void dive(); public void setspeed(double speed); public double getspeed(); } public class car implements IManeuverable{ } public class Board implements IManeuverable{ } public class Submarine implements IManeuverable{ } 讨论 依赖倒转原则 关系 我们决定耦合的程度的依据何在呢? 怎样将大系统拆分成小系统 怎样做到依赖倒转? 依赖倒转原则的优缺点 软件质量保证与测试 第8章 高质量编程 8.1.1 程序的书写格式 版本的声明格式 // //Copyright @2011,北京侏罗纪公司XX部 //All rights reserved. // //文件名称:filename.h //文件标识:见配置管理计划书 //摘 要:简要描述本文件的内容 // / 当前版本:2.1 //作 者:输入作者名字 //完成日期:2011年3月20日 // //取代版本:2.0 //原作者 :输入原作者名字 //完成日期:2011年2月10日 // 头文件的书写格式 头文件必须包含下列内容: 头文件开头处的版权和版本声明。 预处理块。 函数和类结构声明等。 // 版权和版本声明见示例1-1。 #ifndef GRAPHICS_H //防止graphics.h被重复引用 #define GRAPHICS_H #include math.h //引用标准库的头文件 … #include “myheader.h” //引用非标准库的头文件 … void Function1(…); //全局函数声明 … class Box //类结
您可能关注的文档
最近下载
- 苏教版数学四年级上册第五单元《解决问题的策略》大单元整体教学设计.pdf
- 小学英语新人教版PEP四年级上册全册教学反思(2025秋)2.doc
- 药物生产车间污染交叉污染混淆的防控课件.ppt VIP
- 齿轮传动及测量理论 .pptx
- 西南财经大学《高等数学》2016-2017第一学期期末试卷.pdf VIP
- 新闻采访与写作(绪论).ppt VIP
- 2022年7月份呼吸内科护士理论考核.docx VIP
- 广西南宁市2024-2025学年七年级上学期期末地理试卷(含答案).pdf VIP
- 高质量精品资料—高一数学函数的概念.ppt VIP
- 中职数学第6章《数列》单元检测试题及答案【基础模块下册】.docx VIP
原创力文档

文档评论(0)