软件设计师笔记-面向对象

面向对象

一、面向对象的基本概念

究竟怎样才算真正的面向对象(object-oriented,oo)?
面向对象=对象(objects)
+类(classes)
+继承(inheritance)
+消息通信(communication with messages)

对象:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。
对象三要素: 对象标识、属性和服务。
封装: 是对象的一个重要原则
两层含义:
1. 全部属性和全部服务紧密结合不可分割的整体
2. 对象是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码都封装在黑盒子里面。
: 具有相同属性和服务的一个或者一组对象的抽象,类与对象是抽象描述和具体实例的关系,一个具体的对象被称作类的一个实例。
继承与泛化: 用来说明特殊类(子类)与一般类(父类)的关系,通常使用泛化来说明一般类与特殊类之间的关系,它们之间是一对多关系。
多态性与重载: 一般类中定义的属性或服务被特殊类继承后,可以具有不同的数据类型或表现出不同的行为,通常是使用重载和改写两项技术来实现的。

多态性与重载
例题:
在这里插入图片描述
消息和消息通信:
消息:向对象发出的服务请求,它通常包括提供服务的对象标识、消息名、输入信息和回单信息。
消息通信:面向对象方法学中的一个重要原则,它与对象的封装原则密不可分,为对象间提供唯一合法的动态联系的路径。
面向对象方法学的优点:
1. 与人类习惯的思维方法一致
2. 稳定性好
3. 可重用性好
4. 较易开发大型软件产品
5. 可维护性好

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、面向对象程序设计

继承成员访问控制机制:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、面向对象分析与设计方法

OOA/OOD
在这里插入图片描述
OOA中定义了两种对象类之间的结构:分类结构组装结构
is a 组合
Booch方法:
Booch认为软件开发是一个螺旋上升的过程,在这个螺旋上升的每个周期中,有以下几个步骤:

  1. 发现类和对象
  2. 确定它们的含义
  3. 找出它们之间的相互关系
  4. 说明每一个类和对象的界面和实现
静态模型动态模型
逻辑模型类图
对象图
状态装换图
时序图
物理模型模块图
进程图

OMT方法:
OMT方法定义了三种模型:对象模型、动态模型、功能模型

对象模型
动态模型
功能模型

在这里插入图片描述
在这里插入图片描述

四、设计模式

1.UML结构
  • 构造快
    1. 建模元素
    2. 关系
  • 公共机制
    1. 规格说明
    2. 修饰
    3. 公共分类
    4. 扩展机制
  • 规则
    1. 范围
    2. 可见性
    3. 完整性
    4. 执行

1.用例图:
用例图
- 包含关系(抽象用例)
- 扩展关系

包含关系
2.类图与对象图
在这里插入图片描述

2.UML图形

类之间的关系:

  • 依赖关系
  • 泛化关系(概括关系)
  • 关联关系
    1)聚合关系(主机与显示器)
    2)组合关系(公司与部门,人与心脏)
  • 实现关系

在这里插入图片描述
3.顺序图(序列图)
顺序图与协作图统称为交互图
在这里插入图片描述
协作图:
在这里插入图片描述
状态图:
在这里插入图片描述
活动图:
在这里插入图片描述
在这里插入图片描述
构件图:
在这里插入图片描述
部署图
在这里插入图片描述

3.典型例题分析

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
考点:

  • 数据流图

  • 面向对象设计

  • 数据库设计

  • 算法设计/C程序设计

  • C++程序设计

  • JAVA程序设计

  • VB程序设计

  • Web Service

  • 信息加密

  • 操作系统操作PV

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值