北京大学:《面向对象技术引论》第六章 定义结构与连接

第六章定义结构与连接 类(及其对象)之间的四种关系 两种结构,两种连接 分类关系、继承 般-特殊结构 (generalization-specialization structure 组成关系、聚合整体-部分结构 (whole-part structure) 静态联系、关联实例连接 (instance connection) 动态联系、行为依赖消息连接 (message connection) 这些关系形成了类图的关系层
类(及其对象)之间的四种关系 ——两种结构,两种连接 分类关系、继承——一般-特殊结构 (generalization-specialization structure) 组成关系、聚合——整体-部分结构 (whole-part structure) 静态联系、关联——实例连接 (instance connection) 动态联系、行为依赖——消息连接 (message connection) 这些关系形成了类图的关系层 第六章 定义结构与连接

6.1-般特殊结构 概念:一般类、特殊类、继承、多继承、多态、 一般-特殊结构、“ is a kind of 定义:一般特殊结构是由一组具有一般特殊关系(继 承关系)的类所组成的结构,它是一个以类为结点,以 继承关系为边的连通的有向图 同义词:分类结构( classification structure 作用:简化了对对象的认识、定义和理解
概念:一般类、特殊类、继承、多继承、多态、 一般-特殊结构、 “is a kind of ” 定义:一般-特殊结构是由一组具有一般-特殊关系(继 承关系)的类所组成的结构,它是一个以类为结点,以 继承关系为边的连通的有向图。 同义词:分类结构(classification structure) 6.1 一般-特殊结构 作用:简化了对对象的认识、定义和理解

表示法 般类 对继承的属性或服务重新定义 ×拒绝继承 特殊类 特殊类 多态性的表示符号 结构连接符 例 人员 般类 股东职员 顾客 特殊类 特殊类 股东职员 完整的-般-特殊结构
表示法 人员 股东 职员 顾客 股东职员 例: ● 对继承的属性或服务重新定义 × 拒绝继承 多态性的表示符号 一般类 特殊类 特殊类 结构连接符 一般类 特殊类 特殊类 完整的一般-特殊结构

如何发现一般-特殊结构 1)学习当前领域的分类学知识 2)按常识考虑事物的分类 (3)回顾一般类和特殊类的两种定义 (4)考察类的属性与服务 公司人员 公司人员 姓名 「姓名 身份证号 身份证号 公司人员 姓名 身份证号 股份 股东 职员 工资 股东 职员 股东 职员 姓名 身份证号 身份证号 ?/股份 股份 工资 工资 股份 工资
如何发现一般-特殊结构 (1)学习当前领域的分类学知识 (2)按常识考虑事物的分类 (3)回顾一般类和特殊类的两种定义 (4)考察类的属性与服务 ? 公司人员 姓名 身份证号 股份 工资 ······ ······ ? 公司人员 姓名 身份证号 ······ 股东 股份 ······ ······ 职员 工资 ······ ······ ······ 股东 姓名 身份证号 股份 ······ ······ 职员 姓名 身份证号 工资 ······ ······ 公司人员 姓名 身份证号 ······ ······ 股东 股份 ······ ······ 职员 工资 ······ ······ ?

(5)考虑领域范围内的复用 收款机领域构件 现钞收款机 A X BCDEF 现钞收款机 X Z E F Z
(5)考虑领域范围内的复用 现钞收款机 A B C D E F X Y Z 收款机 A B C X Y 现钞收款机 D E F Z 领域构件

审查与调整 (1)问题域是否需要这样的分类?(例:书善本书) (2)系统责任是否需要这样的分类?(例:职员-本市职员 (3)是否符合分类学的常识?(用“ is a kind of”去套) 汽车 运输工具 运输工具 发动机 发动机 发动机 载重量 载重量 载重量 速度 速度 速度 运输 运输 或运输 飞机 汽车 飞机 飞行高度 飞行高度 飞行高度 自动导航 自动导航 自动导航 (4)是否构成了继承关系?(确实继承了一些属性或服务
(1)问题域是否需要这样的分类?(例:书—善本书) (2)系统责任是否需要这样的分类?(例:职员—本市职员) (3)是否符合分类学的常识?(用“is a kind of ”去套) 飞机 飞行高度 ······ 自动导航 ······ × 汽车 发动机 载重量 速度 ······ 运输 ······ 运输工具 发动机 载重量 速度 ······ 飞机 飞行高度 ······ 自动导航 ······ 汽车 ······ ······ 运输工具 发动机 载重量 速度 ······ 飞机 飞行高度 ······ 自动导航 ······ 运输 ······ 运输 或 ······ 审查与调整 (4)是否构成了继承关系?(确实继承了一些属性或服务 )

一般-特殊结构的简化 (1)取消没有特殊性的特殊类 (2)增加属性简化一般-特殊结构 (3)取消用途单一的一般类,减少继承层次 般类存在的理由: 有两个或两个上以上的特殊类 需要用它创建对象实例 有助于软件复用
一般-特殊结构的简化 (1)取消没有特殊性的特殊类 (2)增加属性简化一般-特殊结构 (3)取消用途单一的一般类,减少继承层次 一般类存在的理由: ·有两个或两个上以上的特殊类 ·需要用它创建对象实例 ·有助于软件复用

62整体-部分结构 概念:整体对象、部分对象、聚合、整体-部分结构 a part of”或“hasa” 整体-部分关系是对象实例之间的关系 说“对象a是对象b的组成部分”—可以 说“类A是类B的组成部分”—不妥 说“类B和类A之间的整体-部分关系 是指它们的对象实例存在整体-部分关系 定义:整体-部分结构是把一组具有整体-部分关系的 类组织在一起的结构。它是一个以类为结点,以整 体-部分关系为边的连通的有向图 同义词:组装结构( composition structure) 区别:紧密、固定的关系和松散、灵活的关系
概念:整体对象、部分对象、聚合、整体-部分结构 “a part of”或“has a” 整体-部分关系是对象实例之间的关系 说“对象a是对象b的组成部分”——可以 说“类A是类B的组成部分”——不妥 说“类B和类A之间的整体-部分关系”, 是指它们的对象实例存在整体-部分关系 定义:整体-部分结构是把一组具有整体-部分关系的 类组织在一起的结构。它是一个以类为结点,以整 体-部分关系为边的连通的有向图。 同义词:组装结构(composition structure) 区别:紧密、固定的关系 和 松散、灵活的关系 6.2 整体-部分结构

表示法 连接符: 例子: 汽车 整体对象类 多重性: 一对 4,6 对多 多对多 发动机 车轮 部分对象类 多重性表示: 固定的数√单个数 不定的数六数对
整体对象类 部分对象类 m n 连接符: 表示法 汽 车 发动机 车 轮 1 4,6 0,1 0,1 例子: 多重性: 一对一 一对多 多对多 多重性表示: 固定的数 单个数 不定的数 数对

如何发现整体-部分结构 考察: (1)物理上的整体事物和它的组成部分 例:机器、设备和它的零部件 (2)组织机构和它的下级组织及部分 例:公司与子公司、部门 (3)团体(组织)与成员 例:公司与职员 (4)一种事物在空间上包容其它事物 例:生产车间与机器 (5)抽象事物的整体与部分 例:学科与分支学科、法律与法律条款 (6)具体事物和它的某个抽象方面 例:人员与身份、履历
如何发现整体-部分结构 考察: (1)物理上的整体事物和它的组成部分 例:机器、设备和它的零部件 (2)组织机构和它的下级组织及部分 例:公司与子公司、部门 (3)团体(组织)与成员 例:公司与职员 (4)一种事物在空间上包容其它事物 例:生产车间与机器 (5)抽象事物的整体与部分 例:学科与分支学科、法律与法律条款 ( 6)具体事物和它的某个抽象方面 例:人员与身份、履历
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 北京大学:《面向对象技术引论》第二部分 面向对象的分析.ppt
- 北京大学:《面向对象技术引论》第一部分 面向对象方法概论.ppt
- 北京大学:《面向对象技术引论》第八章 OOD评判标准.ppt
- 北京大学:《面向对象技术引论》分析方法如何适应面临的挑战?.ppt
- 北京大学:《面向对象技术引论》教学计划.doc
- 《SQL Server应用开发技术》第14章 使用Asp开发SQL Server应用程序.ppt
- 《SQL Server应用开发技术》第13章 使用Delphi开发SQL Server应用程序.ppt
- 《SQL Server应用开发技术》第12章 开发ODBC数据库应用程序概述.ppt
- 《SQL Server应用开发技术》第11章 安全管理.ppt
- 《SQL Server应用开发技术》第10章 数据库的备份和恢复.ppt
- 《SQL Server应用开发技术》第9章 触发器.ppt
- 《SQL Server应用开发技术》第8章 存储过程.ppt
- 《SQL Server应用开发技术》第7章 Transact-SQL 程序设计.ppt
- 《SQL Server应用开发技术》第6章 关系、索引和视图.ppt
- 《SQL Server应用开发技术》第5章 约束、默认和规则.ppt
- 《SQL Server应用开发技术》第4章 表和表数据操作.ppt
- 《SQL Server应用开发技术》第3章 数据库文件管理.ppt
- 《SQL Server应用开发技术》第2章 SQL Server 2000安装和配置.ppt
- 《SQL Server应用开发技术》第1章 数据库原理概述.ppt
- 《AutoCAD 2006中文版标准教程》教学资源(PPT课件)第九章 块的使用.ppt
- 北京大学:《面向对象技术引论》第三部分 面向对象的设计.ppt
- 北京大学:《面向对象技术引论》第四部分 面向对象的编程(00P)和面向对象的编程语言(00PL).ppt
- 北京大学:《面向对象技术引论》第五部分 面向对象的数据库系统.ppt
- 北京大学:《面向对象技术引论》练习题.doc
- 《计算机组装与维护》第1讲 课程安排.ppt
- 《计算机组装与维护》第2讲 主板.ppt
- 《计算机组装与维护》第3讲 CPU.ppt
- 《计算机组装与维护》第4讲 内存.ppt
- 《计算机组装与维护》第5讲 显示卡.ppt
- 《计算机组装与维护》第6讲 显示器.ppt
- 《计算机组装与维护》第7讲 硬盘.ppt
- 《计算机组装与维护》第8讲 其它标设.ppt
- 《3DS?max应用制作》餐厅.ppt
- 《3DS?max应用制作》高层建筑的效果表现.ppt
- 西北农林科技大学:《计算机文化基础》模拟试题.doc
- 《C++入门级教案》第二十一章 指针.doc
- 《C++入门级教案》第二十章 指针 二.doc
- 《C++入门级教案》第二章 编程环境.doc
- 《C++入门级教案》第三章 计算机原理.doc
- 《C++入门级教案》第十八章 数组.doc