[计算机]第7章-类和对象的设计PPT课件
合集下载
C 高级语言程序设计 第七章 类与对象汇总PPT课件
![C 高级语言程序设计 第七章 类与对象汇总PPT课件](https://img.taocdn.com/s3/m/d8eb1a19fe4733687f21aa4e.png)
2020/7/21
北京邮电大学信息与通信工程学院
-15-
4、对象
声明了类及其对象,在类的外部(指类定义和 成员函数的实现代码之外),就可以访问对象 的公有成员(包括数据成员和函数成员)了。 在类的外部,只能通过对象访问类的公有成员; 在类的成员函数内部,可以直接访问类的所有 成员,这就实现了对访问范围的有效控制。
如果已经知道某个类的功能和接口函数,就可以使用 它了。先定义类对象,通过对象调用接口函数实现一 定的功能。
class Student stu01; //class也可以省略不写
stu01.getscore(); stu01.printstu();
这个过程的本质是:根据对象所需要完成的任务,向 对象发送消息。对象收到消息后,调用接口中的相应 的函数,完成它的功能。对象只需要知道“做什么”, 具体工作由成员函数来完成。
北京邮电大学信息与通信工程学院
-4-
7.1 类和对象的定义
7.1 类和对象的定义
一个类表示现实生活中的一类事物,比如“学 生”,事物有相应的特征或属性,它们就是类 的数据成员;事物可能有行为动作,也可能被 某些行为动作所操作,这些都用函数来实现, 这些函数和类有着不可分割的关系,是构成类 的函数成员,或者叫成员函数。 在C++中,类实际上相当于一种用户自定义的 数据类型院
-11-
2、类的声明
关于访问控制属性,注意:
在类声明中,三种访问控制属性,可以按任意次序出 现,也可以不出现。public等关键字也可以多次出现, 但是一个成员只能具有一种访问控制属性。
如果不写访问控制属性关键字,默认的是private。在 书写时通常习惯将公有类型放在最前面,这样便于阅 读,因为它们是外部访问时所要了解的。
第7章-类和对象-1
![第7章-类和对象-1](https://img.taocdn.com/s3/m/d2c0c7770b4c2e3f56276325.png)
成员变量
Strpinugblnicacmlaes;s Ini/t/ia姓lV名istor {
int agep;ublic/s/t年at龄ic void main(String[] args) { //显示信息Sc方an法ner input = new Scanner(S成yst员em方.i法n);
public voidVsishiotowr(v){= new Visitor();
center.classNumber = 10;
bNumber = 10;
System.out.println("\n***初始化成员变量后***");
center.
演示示例:创建和使用对象
第22页/共45页
创建和使用对象示例5-2
问题
编写学员类,输出学员相关信息
编写教员类,输出教员相关信息
分析
学员类
姓名 年龄 班级 爱好 显示学员个人信息
教员类
姓名 专业方向 教授课程
教龄 显示教员个人信息
第23页/共45页
创建和使用对象示例5-3
示例
public class SIntuitdiaelnStu{dent { Spturbinligcnstaamtiec;void//m姓a名in(String args[]成){ 员变量
实现积分回馈功能
金卡客户积分大于1000分或普卡客户积分大于 5000,获得回馈积分500分
创建客户对象输出他得到的回馈积分
完成时间:20分钟 共性问题集中讲解
第35页/共45页
按此按钮, 狮子开始跑
按此按钮, 狮子开始叫
类的方法
电动玩具狮子 属性: 颜色:黄色
行为: 跑 叫
《类和对象 》课件
![《类和对象 》课件](https://img.taocdn.com/s3/m/cd66d1694a73f242336c1eb91a37f111f1850d0c.png)
2 什么是对象?
对象是类的实例,它具有类定义的属性和行为。每个对象都是独一无二的,并可以根据 类的定义进行操作。
类的组成部分
属性
类可以定义一些属性, 用于描述类的特征和状 态。属性可以是变量或 常量,表示对象的各种 特性。
方法
类可以定义一些方法, 用于执行特定的操作。 方法可以访问和修改对 象的属性,并实现类的 功能。
2 this关键字的使用
this关键字可以用于解决变量名冲突问题,区分局部变量和类的成员变量。它还可以用于 在构造方法中调用其他构造方法。
类与对象编程案例演示
1
案例1:图书管理系统
通过类来表示图书、图书馆和借阅者,并实现借书、还书和查询功能。
2
案例2:汽车租赁系统
通过类来表示汽车、租车公司和租客,并实现租车、还车和计费功能。
案例3:学生管理系统
通过类来表示学生、课程和学校,并实现成绩录入、查询和统计功能。
在软件开发中的应用
继承和多态是面向对象编程的重要 概念,它们在软件开发中广泛应用 于代码的组织和设计。
对象的实例化与构造方法
对象的实例化是通过创建类的实例来使用该类。构造方法是用于创建对象的特殊方法,它在实例 化对象时被自动调用,用于初始化对象的属性和状态。
创建对象
通过类的构造方法来创建对 象,为对象分配内存并初始 化其属性。
《类和对象》PPT课件
欢迎来到《类和对象》PPT课件!本课件将带你深入了解类和对象的基础概念, 探索类在软件开发中的应用,并演示对象的实例化与构造方法。让我们开始 这个令人兴奋的学习之旅吧!
类和对象基础概念
1 什么是类?
类是面向对象编程的基本概念,它是一种抽象数据类型,用于描述具有相同属性和行为 的对象的集合。
对象是类的实例,它具有类定义的属性和行为。每个对象都是独一无二的,并可以根据 类的定义进行操作。
类的组成部分
属性
类可以定义一些属性, 用于描述类的特征和状 态。属性可以是变量或 常量,表示对象的各种 特性。
方法
类可以定义一些方法, 用于执行特定的操作。 方法可以访问和修改对 象的属性,并实现类的 功能。
2 this关键字的使用
this关键字可以用于解决变量名冲突问题,区分局部变量和类的成员变量。它还可以用于 在构造方法中调用其他构造方法。
类与对象编程案例演示
1
案例1:图书管理系统
通过类来表示图书、图书馆和借阅者,并实现借书、还书和查询功能。
2
案例2:汽车租赁系统
通过类来表示汽车、租车公司和租客,并实现租车、还车和计费功能。
案例3:学生管理系统
通过类来表示学生、课程和学校,并实现成绩录入、查询和统计功能。
在软件开发中的应用
继承和多态是面向对象编程的重要 概念,它们在软件开发中广泛应用 于代码的组织和设计。
对象的实例化与构造方法
对象的实例化是通过创建类的实例来使用该类。构造方法是用于创建对象的特殊方法,它在实例 化对象时被自动调用,用于初始化对象的属性和状态。
创建对象
通过类的构造方法来创建对 象,为对象分配内存并初始 化其属性。
《类和对象》PPT课件
欢迎来到《类和对象》PPT课件!本课件将带你深入了解类和对象的基础概念, 探索类在软件开发中的应用,并演示对象的实例化与构造方法。让我们开始 这个令人兴奋的学习之旅吧!
类和对象基础概念
1 什么是类?
类是面向对象编程的基本概念,它是一种抽象数据类型,用于描述具有相同属性和行为 的对象的集合。
第 7章 类和对象
![第 7章 类和对象](https://img.taocdn.com/s3/m/330f4563af1ffc4ffe47ac45.png)
char GetSex(); };
7.5 数据成员的初始化
1.在构造函数的函数体中进行初始化。 2.在构造函数的头部初始化。 3.混合初始化。 4.拷贝构造函数
1. 在构造函数的函数体中初始化
class Person { char m_strName[20]; int m_nAge; int m_nSex; Person(){ strcpy(m_strName,”XXX”); m_nAge=0; m_nSex=0; } Person(char *name, int age, char sex) public:
家庭情况
基本工资: double 岗位津贴: double 劳保福利: double 独生子女: double 房租: double 电费: double 水费: double 取暖费: double 保育费: double 实发工资: double
类(Class)----数据类型
<数据成员或成员函数表>;
例7-1 定义一个Person类,用来说明人员类对象
// Example 7-1:定义Person类 class Person {private: char m_strName[20]; int m_nAge; int m_nSex; public: void Register(char *name, int age, char sex); char * GetName(); int GetAge(); char GetSex(); void ShowMe(); };
3. 对象的引用
对象是包含现实世界物体特征的抽象实体,反映了系统为之保 存信息和(或)与之交互的能力。
类和对象的概念PPT课件
![类和对象的概念PPT课件](https://img.taocdn.com/s3/m/525f980fce2f0066f4332231.png)
14
2.3 使用代码窗口
2.3.1 代码窗口的组成
事件名列表
Hale Waihona Puke 类名列表2021/3/12
15
2.3 使用代码窗口
2.3.2 使用代码窗口
自动完成功能
语法检查功能
2021/3/12
16
2.4 Visual Basic .NET的编程步骤
程序设计的基本步骤如下:
(1) 创建新项目 (2) 添加控件 (3) 修改对象属性 (4) 编写事件代码 (5) 运行程序 (6) 修改完善 (7) 生成可执行文件
2021/3/12
13
2.2 窗体与基本控件
2.2.9 焦点和Tab键序
焦点是控件接收用户鼠标或键盘输入的能力。当对象具有焦点时, 可接收用户的输入。在Microsoft Windows环境中,任一时刻都 可以同时运行多个程序,但只有具有焦点的应用程序才有活动标题 栏(蓝色标题栏),也只有具有焦点的程序才能接受用户输入(键 盘或鼠标的动作)。
所谓Tab键序指的是在用户按下〈Tab〉键时,焦点在控件间移 动的顺序。每个窗体都有自己的Tab键序。缺省状态下Tab键序与 建立这些控件的顺序相同。例如在窗体上建立三个命令按钮C1、 C2和C3,程序启动时C1首先获得焦点。当用户按下〈Tab〉键时 焦点依此向C2、C3转移,如此这般往复循环。
2021/3/12
制对20象21/。3/12
3
2.2 窗体与基本控件
2.2.1 创建窗体
窗体就是应用程序中的一个窗口。当新建一个“Windows应用 程序”时,就会显示一个缺省的窗体,该窗体包含了一些 Windows应用程序最常用的元素,如标题栏、控制框、最小化、 最大化和关闭按钮等。
《类和对象的设计》课件
![《类和对象的设计》课件](https://img.taocdn.com/s3/m/d6f2cc8609a1284ac850ad02de80d4d8d15a0137.png)
开放封闭原则
软件实体应该对扩展开放,对修改封闭。学习 如何遵循这个原则来设计灵活的类和对象。
依赖倒置原则
高层模块不应该依赖于低层模块,二者都应该 依赖于抽象。掌握如何使用依赖倒置原则构建 松耦合的系统。
案例分析
电子商务网站
通过分析一个电子商务网站的案 例,展示如何运用类和对象的设 计原则构建一个高效、可维护的 系统。
《类和对象的设计》PPT 课件
本课件旨在介绍类和对象的设计原则,以及它们在软件开发中的作用。通过 生动的案例分析和实用的设计原则,帮助您深入理解这个重要的概念。
类和对象
1
类的定义和作用
了解什么是类,以及类在面向对象编程
对象的创建和使用
2
中的作用。掌握类的基本结构和语法。
学习如何创建对象和使用对象的方法。
了解面向对象编程的核心概念。
3
ቤተ መጻሕፍቲ ባይዱ
继承与多态
深入研究继承和多态的概念。掌握如何 在类之间建立继承关系以及如何使用多 态提高代码的灵活性。
类和对象的设计原则
单一职责原则
类应该有且仅有一个责任。理解如何将职责拆 分到不同的类中,使代码更加可维护和可扩展。
里氏替换原则
子类对象可以替代父类对象。了解在继承关系 中如何正确使用这个原则,以避免破坏代码的 正确性。
移动应用开发
以移动应用开发为例,详细讲解 类和对象的设计,使您能够在实 际项目中应用所学的知识。
软件架构设计
通过讲解软件架构设计的案例, 帮助您理解如何将类和对象的设 计原则应用于大型软件项目。
总结和扩展阅读
1 巩固所学
总结类和对象的设计原则,在实践中加深对 这些原则的理解。
2 深入研究
《类和对象的概念》课件
![《类和对象的概念》课件](https://img.taocdn.com/s3/m/ec8fe102c950ad02de80d4d8d15abe23482f0326.png)
总结词
明确类和对象的职责与属性
详细描述
在设计类和对象时,首先需要明确每个类和对象的职责和 属性,确保它们具有清晰、准确的功能定义。同时,要遵 循单一职责原则,避免一个类或对象承担过多的职责。
总结词
合理规划类和对象的继承关系
详细描述
在面向对象编程中,继承是实现代码复用的重要手段。合 理规划类和对象的继承关系,可以使代码结构更加清晰、 易于维护。同时,要注意避免过度继承和多重继承带来的 问题。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的命名冲突问题
详细描述
在多个类或对象共存的情况下,可能会出现命名冲突的问题。为了避免这种情况 ,可以采用命名规范、命名约定等方式来避免命名冲突,提高代码的可读性和可 维护性。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的内存泄漏问题
详细描述
02
通过封装,对象的属性和行为被隐藏在内部, 只通过外部接口与外界交互。
03
封装可以提高代码的安全性和可维护性,防止 外部随意修改内部实现细节。
继承
01
继承是子类继承父类的 属性和行为,子类可以 使用父类的所有非私有
属性和方法。
02
通过继承,子类可以扩 展和修改父类的功能, 实现代码的重用和扩展
。
《类和对象的概念》ppt课件
$number {01}
目录
• 类和对象的基本概念 • 类的特性 • 对象的创建和使用 • 类和对象的应用 • 类和对象的常见问题与解决方案
01
类和对象的基本概念
类的定义
总结词
类是对象的抽象,定义了一组具有相似属性和行为的对象。
详细描述
类是面向对象编程中的一个基本概念,它是对一组具有相似 属性和行为的对象的抽象。通过类,我们可以定义一组对象 的共同特征和行为,以及如何对这些特征和行为进行操作。
明确类和对象的职责与属性
详细描述
在设计类和对象时,首先需要明确每个类和对象的职责和 属性,确保它们具有清晰、准确的功能定义。同时,要遵 循单一职责原则,避免一个类或对象承担过多的职责。
总结词
合理规划类和对象的继承关系
详细描述
在面向对象编程中,继承是实现代码复用的重要手段。合 理规划类和对象的继承关系,可以使代码结构更加清晰、 易于维护。同时,要注意避免过度继承和多重继承带来的 问题。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的命名冲突问题
详细描述
在多个类或对象共存的情况下,可能会出现命名冲突的问题。为了避免这种情况 ,可以采用命名规范、命名约定等方式来避免命名冲突,提高代码的可读性和可 维护性。
如何解决类和对象相关的常见问题?
总结词
解决类和对象的内存泄漏问题
详细描述
02
通过封装,对象的属性和行为被隐藏在内部, 只通过外部接口与外界交互。
03
封装可以提高代码的安全性和可维护性,防止 外部随意修改内部实现细节。
继承
01
继承是子类继承父类的 属性和行为,子类可以 使用父类的所有非私有
属性和方法。
02
通过继承,子类可以扩 展和修改父类的功能, 实现代码的重用和扩展
。
《类和对象的概念》ppt课件
$number {01}
目录
• 类和对象的基本概念 • 类的特性 • 对象的创建和使用 • 类和对象的应用 • 类和对象的常见问题与解决方案
01
类和对象的基本概念
类的定义
总结词
类是对象的抽象,定义了一组具有相似属性和行为的对象。
详细描述
类是面向对象编程中的一个基本概念,它是对一组具有相似 属性和行为的对象的抽象。通过类,我们可以定义一组对象 的共同特征和行为,以及如何对这些特征和行为进行操作。
第七章-面向对象设计PPT课件
![第七章-面向对象设计PPT课件](https://img.taocdn.com/s3/m/aa148604195f312b3169a5de.png)
面向对象的软件设计过程
7.1 设计用例实现方案
本节介绍UML交互图的语言机制和用例实现方案的设 计方法。
UML的交互图包括顺序图和协作图,适于用例实 现方案的表示。
用例实现方案的设计方法有三个步骤: (1) 提取边界类、实体类和控制类; (2) 构造交互图; (3) 根据交互图精化类图。
7.1.1 顺序图
(1) 界面控制:包括输入数据的格式及内容转换,输出结果的 呈现,软件运行过程中界面的变化与切换等。
(2) 外部接口:实现目标软件系统与外部系统或外部设备之间 的信息交流和互操作。主要关注跨越目标软件系统边界的 通信协议。
(3) 环境隔离:将目标软件系统与操作系统、数据库管理系统、 应用服务器中间件等环境软件进行交互的功能与特性封装 于边界类之中,使目标软件系统的其余部分尽可能地独立 于环境软件。
UML四种类型的消息
(1) 简单消息(Simple Message) 以一种简单、抽象的函数表示对象之间的信息传 递,不考虑通信过程的内部细节。简单消息在 UML顺序图中用普通的有向箭头表示。
(2) 同步消息(Synchronous Message) 消息源发出消息后必须等待消息处理过程完毕并返 回处理结果后,消息源才可继续执行后续操作。前 面所述的自调用消息应该是同步的。同步消息的表 示图元与简单消息相同,这表明UML在缺省情形 下认为简单消息即为同步消息。
第七章 面向对象的设计方法
设计用例实现方案 设计技术支撑方案 设计用户界面 精化设计模型 RUP中的分析与设计流程
面向对象的设计方法
基于UML的面向对象设计方法将分析模型转换为设 计模型。
面向对象: 分析模型---顶层架构图、用例与用例图、领域概念 模型构成。 设计模型----- 以包图表示的软件体系结构图 以交互图表示的用例实现图 完整、精确的类图 复杂对象的状态图 描述流程化处理过程的活动图
[计算机]第7章 类和对象的设计
![[计算机]第7章 类和对象的设计](https://img.taocdn.com/s3/m/729797dd453610661fd9f4ac.png)
与具体应用直接相关的属性,不要考虑那些超出所要解决的问题范围的 属性。
26
• (2) 筛选 • 仔细认真地考虑那些经初步分析而确定下来地
属性,从中删掉不正确的或不必要的属性。 • ① 判别是属性还是对象 • ② 识别冗余属性 • ③ 去除链属性 • ④ 区分属性和内部状态 • ⑤ 不应过于细化 • ⑥ 去除无关属性
象来说是输出事件,但是对于它的接受对象来说则是输入对象。当一个事件
的发送和接受对象相同时,这个事件就既是输出事件又是输入事件,比如,
自发消息。
33
•
然后,我们要理清事件发生的先后顺序,这在脚本中也应有大致的表现,
不清楚的情况要与领域专家咨询和讨论。
34
•
最后,分正常情况和异常情况分别画出对象交互的时序图。时序图描述了
7.1.4 面向对象分析设计的一般原则
•
设计一个优秀的面向对象软件系统至少要遵循以下原则:
• (1) 模块化与系统分解
• (2) 抽象
• (3) 信息隐蔽
• (4) 模块间弱耦合和模块内强内聚
• (5) 可重用
17
7.2 寻找系统中的类
7.2.1 列出需求说明中的名词
• 软件系统中的很多类或对象都是待解决问题 中有意义的事物的抽象,关键是抓住需求说明中 的名词,重点考虑如下四个方面:
21
7.3 确定类或对象之间的关系
7.3.1 找出关联关系
•
分析关联关系能促使分析员考虑问题的边缘情况,有助于发现那些尚未
被发现的类。
• (1) 从动词短语初步找出关联
• (2) 筛选出必要的关联
• (3)划分主题
22
• 7.3.2 组成关系
•
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
的符号
7.1.3.2 表示类之间关系 继承、聚集(组成)、关联等关系表示符
号分别如图7.3、图父7.类4、图7.5所示。
子类1
子类2
图7.3 继承关系的表示符号
整体
部分1
部分2
图7.4 聚集关系的表示符号
类1 1
类2 1
类3
类4
1 0..*
图7.5 关联关系的表示符号
两类对象之间的二元关联关系分为三 种基本类型,即一对一(1:1),一对多(1: M)和多对多(M:N)分别用数字1:1、1: 0..*和0..* :0..*标识在表示关联关系的横 线下。
概念。 (3) 去除笼统的概念,用明确具体的名称代替它
们。
(4) 去除属性。 (5) 去除操作。 (6) 去除实现细节性的名词。
7.3 确定类或对象之间的关系
7.3.1 找出关联关系 分析关联关系能促使分析员考虑问题
的边缘情况,有助于发现那些尚未被发现 的类。 (1) 从动词短语初步找出关联 (2) 筛选出必要的关联 (3)划分主题
7.2 寻找系统中的类
7.2.1 列出需求说明中的名词
软件系统中的很多类或对象都是待解决问 题中有意义的事物的抽象,关键是抓住需求说 明中的名词,重点考虑如下四个方面:
(1) 自然物理对象 (2) 概念实体 (3) 人或组织的角色 (4) 发生的事件
提取名词作为初选出的类时,应注意 以下原则:
(2) 自顶向下。
把现有的类细化成更具体的子类,留 意那些带有修饰词的名词和名词词组,它 们往往暗示了一些具体类。过深的子类嵌 套会难于理解,通常经过仔细考虑和少量 的重构造,就能减少过多的继承层次。
7.4 设计类的属性
类的属性就是类的性质,对象取不同 的属性值就有不同的状态。
一般来说,确定属性的过程包括分析 和筛选两个步骤。
7.1.1 什么是模型
模型就是为了理解事务而对事务 作出的一种抽象,通常是用一组图示 符号和组织这些符号的规则来定义和 描述问题域中的术语和概念。
信息系统的模型常见的有形式化和图示化
两种。形式化描述方法非常精确、严谨,易 于系统以后的实现,但难以掌握和理解,模 型可读性差,往往只有专业人员才会使用, 因而难于推广。图形化方法用一组图示符号 和组织这些符号的规则来定义和描述问题域 中的术语和概念,模型直观、自然,易于描 述系统的层次结构、功能组成,且简单易学, 通常还有工具软件支持,因而成为信息系统 的主要描述工具,尽管这种方法的精确性和 严谨性较差,但实际应用很广泛。
对象1:类名 对象2:类名2 对象3:类名3 1
消息1
消息2
消息3
消息4
图7.9 三个对象交互的时序图
7.1.4 面向对象分析设计的一般原则
设计一个优秀的面向对象软件系统至 少要遵循以下原则:
(1) 模块化与系统分解 (2) 抽象 (3) 信息隐蔽 (4) 模块间弱耦合和模块内强内聚 (5) 可重用
7.1.3.3 表示对象的行为以及相互合作的 符号 所有的对象都具有自己的生命周期 (或称为运行周期)。生命周期中的阶段也 就是对象的状态。系统运行过程中各对象 之间总是在相互作用,某一对象受到其它 对象的触发(如发送消息要求服务),就会 发生状态的改变。
事件1[ 条件 ] / 动作
主要表现为类或对象包含的属性、行为,以及
类或对象相互之间的继承和关联关系;动态模
型描述系统的控制结构,主要表现为对象为完
成某一功能而相互合作以及它们动作执行的先
后顺序。
7.1.3.1 表示类和对象的图形符号
图7.1是类和对象的表示符号,类和对
象都用矩形框表示,类或对象名、每个属性、 每个操作(行为)都各占一格。
7.1.2 建模的目的
构造模型通常的目的是: (1) 在着手解决一个复杂问题之前,建立
与检测解决方案。 (2) 对复杂问题进行适度简化。 (3) 加强视觉效果。 (4) 客户和其他相关人员进行交流。
7.1.3 面向对象分析设计模型的一般形式
一个系统的特征包括两个方面,即静态特
征和动态特征。静态模型描述系统的数据结构,
7.3.2 组成关系
组成关系是一种特殊的关联关系。组 成关系实际上描述的是所谓“……的一部 分”、“组成”或者“……包含……”这 样一类关系,即部分与整体之间的关系。
7.3.3 继承关系
有两种方式可以发现和建立继承关系: (1) 自底向上。 当子类具有和父类相同的属性和行为
时,它们存在着继承关系。
(1)选择一个最有意义的词。 (2)修饰语也常常是发现类属性的线索。 (3)被动语态写成的句子,通常有隐含的
主语。
(4) 对类的种类进行建模。 (5) 从属性值抽象出类。
7.2.2 筛选出候选类
对列出的名词作个初步筛选。方法如下: (1) 去除重复的概念,保留一个最确切的名称。 (2) 去除无关的概念,只保留与问题密切相关的
状态2
事件3[条件]/动作
状态3
事件4[ 条件 ] / 动作
最终状态
图7.7 对象状态变化的表示符号
状态图总是针对某个特定的对象而 言的,描述该对象响应一系列事件触发发 生的状态转变。状态图中定义的状态有初 始状态、最终状态、中间状态、复合状态。
我们常用时序图来描述几个对象的交 互作用。表示符号如图7.9所示。
第7章 类和对象的设计
用面向对象的方法对软件系统进行 分析设计,首先要做的就是找出系统中的 类和对象,对它们各自的属性和操作进行 分析和设计。
7.1 建立类和对象的模型 7.2 寻找系统中的类 7.3 确定类或对象之间 7.4 设计类的属性 7.5 设计类的职责 7.6 小结
7.1 建立类和对象的模型
(1) 分析 属性的确定既与问题域有关,也和目标
系统的任务有关。应该仅考虑与具体应用直 接相关的属性,不要考虑那些超出所要解决 的问题范围的属性。
(2) 筛选 仔细认真地考虑那些经初步分析而确定下来
地属性,从中删掉不正确的或不必要的属性。 ① 判别是属性还是对象 ② 识别冗余属性 ③ 去除链属性 ④ 区分属性和内部状态 ⑤ 不应过于细化 ⑥ 去除无关属性