面向对象的技术是当前计算机界所关心的重点,,面向对象的概念和应用已经扩展到很宽的范围,如面向对象的数据库系统、面向对象的系统分析与设计、CAD 技术、人工智能以及其他广泛的应用范围。
什么是面向对象?
面向对象=对象+类+继承+通信
什么是对象?
对象是系统中用来描述客观事物的实体,是面向对象开发模式的基本成分
每个对象可用它本身的一组属性和它可以执行的一组操作来定义
对象具有哪些特点?
- 对象具有封装性:对象将数据及行为封装在一起,将其内部结构隐藏起来。外界不能直接修改对象的状态,只有 通过向该对象发送消息(message)来对它施加影响
- 对象具有自治性
- 对象具有通信性
- 对象具有被动性
- 对象具有暂存性
- 对象可具有持久性
什么是消息?
就是对象向对象发送的服务请求
什么是类?
类是一组具有相同数据结构和相同操作的对象的集合(类的基本元素是对象)
方法是什么?
方法也称作行为,指定义于某一特定类上的操作与法则
面向对象的基本特征
- 继承性
是使用已存在的定义作为基础建立新定义的技术。新的类自动继承旧类的属性和行为特征,并可具备某些附加的特征或某些限制。新类称作旧类的子类,旧类称作新类的超类。
实例:
如果类 C 能使用类 B 中的方法及属性,称 B 是 C 的超类(superclass),C 是 B 的子类 (subclass),也称类 C 继承类 B
- 封装性
所有信息都存储在对象中,即其数据及行为都封装在对象中。
- 多态性
在收到消息时对象要予以响应,不同的对象收到同一消息可以产生完全不同的结果, 这一现象叫做多态。
类的继承与多态结合后,将进一步增强软件的重用性
对象模型化技术OMT
就是把分析时收集的信息构造在三类模型中,即对象模型、功能模型、动态模型
- 对象模型
三个模型中最关键的一个模型,作用是描述系统的静态结构,包括构成系统的类和对象,他们的属性和操作,及他们之间的关系
在OMT中,类与类之间的关系叫做关联
关联有这几种形式:聚合:代表整体与部分的关系
限定:用以对关联的含义做某种约束
角色:用来说明关联的一段
- 动态模型
涉及到事件追踪图和状态图
- 功能模型
由多个数据流图组成,指明从外部输入,通过操作和内部存储,直到外部输出,这整个的数据流情况
面向对象的软件工程方法
- 面向对象的分析:OOA
强调直接针对问题域中客观存在的各种事物建立 OOA 模型中的对象。分为了5层
- 面向对象设计:OOD
继续做面向对象分析阶段的工作。OOA 与 OOD 采用一致的表示法,两者能够紧密衔接,大大降低了从 OOA 过渡到 OOD 的难度、工作量和出错率。
- 面向对象的编程:OOP
用一种面向对象的编程语言把 OOD 模型的每个成分书写出来。
- 面向对象的测试:OOT
指,对于用面向对象的技术开发的软件,在测试过程中继续运用面 向对象的技术,进行以对象概念为中心的软件测试