前言

内容:

  • 面向对象开发

中论

面向对象开发

对象:由数据以及操作所构成的封装体,系统中用来描述客观事物的一个实体。通常由对象名、属性和方法三部分组成。

类:实体的形式化描述。主要有三大类

  • 实体类:实体类对象表示现实世界中真实的实体
  • 接口类(边界类):为用户提供一种与系统合作交互的方式
  • 控制类:用来控制活动流,充当协调者

抽象:通过特定的实例抽取共同特征以后形成概念的过程,强调主要特征,忽略次要特征

封装:一种信息隐蔽技术

继承:类之间的层次关系

多态:不同对象收到同一个消息时产生完全不同的结果

接口:不同于接口类。描述对操作规范的说明,不定义操作如何做

消息:对象间的交互

覆盖:子类在原有父类的接口基础上,用适用于自己要求的实现去置换父类中相应实现

函数重载:无所谓子类父类,函数同名且参数不同

绑定:把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行,为静态绑定。在运行时进行,为动态绑定。

面向对象的分析

为了确定问题域,理解问题。

包含五个活动:认定对象、组织对象、描述对象间的相互作用、确定对象的操作、定义对象的内部信息。

面向对象需求建模

image-20240520201029442

面向对象的设计

设计分析模型和实现相应源代码

  • 面向对象的分析模型:顶层架构图、用例与用例图、领域概念模型
  • 面向对象的设计模型:以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理过程的活动图等

image-20240520201258834

面向对象的设计原则

  • 单一责任原则:一个类而言,有且仅有一个引起它变化的原因
  • 开放-封闭原则:软件实体应该是可以扩展,但是不可修改的。
  • 里式替换原则:子类必须能够替换掉他们的基类
  • 依赖倒置原则:抽象不应该依赖于细节,细节应该依赖于抽象
  • 接口分离原则:依赖于抽象,不依赖于具体。

面向对象软件的测试

  • 算法层:测试类中定义的每个方法
  • 类层:测试封装在同一个类中的所有方法与属性之间的相互作用
  • 模板层:测试一组协同工作的类之间的相互作用
  • 系统层:各个子系统组装成完整的面向对象设计软件,在组装的过程中进行测试

后记

是非入耳君须忍,半作痴呆半作聋。