第7章 类和对象的设计

合集下载

程序设计概论期末考试范围答案

程序设计概论期末考试范围答案

第一章程序设计基础知识一、基础题1.以下关于算法的描述中,错误的是(D)A.算法中描述的操作都是用已经实现的基本运算组成的B。

算法必须由计算机程序实现C.算法应该易于理解、易于实现和易于调试D.算法不应该处理输入的非法数据2.以下哪项不属于数据的逻辑结构(A)A.单链表B.输C.图D.集合5.(B)程序设计的基本思想是采用“自顶向下,逐步求精”的程序设计方法和“单入口单出口”的控制结构。

A.面向对象B.结构化C.函数式D.事件驱动6.强调以现实世界中的客观事物为中心来建立问题域模型,这种程序设计方法成为(C)A.事件驱动程序设计B.结构化程序设计C.面向对象程序设计D.函数式程序设计7.以下程序段是用(B)程序设计语言编写的。

MOV AX,ASUB AX,BMOV C,AXHLTA.机器B.汇编C.C#D.Java10.下列关于解决方案的叙述中,不正确的是(B).A.一个解决方案可以包含多个项目B.解决方案可以包含的项目只能是类库C.利用解决方案资源管理器可以管理解决方案D.解决方案可以将多个项目组织在一起形成一个工作单元二、应用题1.简述程序设计的步骤.答:(1)分析问题:明确要解决什么问题(2) 设计算法:数据结构和算法(3)编写程序:将算法用程序设计语言描述出来(4)调试运行:语法错误、语义错误、异常4.简述C#语言的特点.答:(1)完全面向对象:具有面向对象语言的一切特性(2)简单易学:熟悉C、C++或Java即可掌握C#语言(3)安全:避免使用指针;自动内存管理和垃圾回收;使用委托取代函数指针.(4)跨平台:可以运行在不同操作系统上。

(5)跨语言:与任何支持。

NET的语言互相交换信息(6)强大的Web编程能力: Web应用程序第三章数据与变量一、基础题1。

以下不属于C#语言中基本数据类型的是(D)A.整数类型B。

浮点类型C.字符类型D。

枚举类型2.使用变量a存放数据-389,则将变量a定义为(B)类型最为合适.A。

7设计概论 第七章 设计批评

7设计概论 第七章 设计批评

20世纪早期
格罗皮乌斯 《全面建筑观》
历史表明,美的观 念随着思想和技术的进 步而改变,谁要是以为 自己发现了‘永恒的 美’,他就一定会陷于 模仿和停滞不前。真正 的传统是不断前进的产 物,它的本质是运动的, 不是静止的,传统应该 推动人们不断前进 。
后现代设计批评理论
解构主义 产品符号 商品美学 软设计 绿色设计
②设计符号学批评 基于符号学理论,符号学强调的是作品整体的符 号,而不是作品中的一个因素,把作品或产品看 做是一个符号系统来对待,这一符号系统是审美 情感的载体,表现得不是个人的情感,而是人类 社会的普遍情感。
设计符号学批评认为,符号可以认知,如果符号 仅是一般的记号,那么符号就不可能被广泛的认 知,符号是主体与客体的结合,是二而一的结合。 如,产品的审美意象是一种符号,这是设计者、 使用者与审美对象结合而成的统一整体,存在着 所有使用者都认知的可能,如十字架、太极图等。
解构主义批评 解构主义批评 否定整体、否定中心,否定终极意 义的存在,认为创作是一切,是没有目的性的, 而是强调意义的无限补充、替换和增殖,可鼓励 设计的多元思维、多元风格的形成。
解构主义批评走出纯粹形式结构的框架,面向性 别角色、阶级关系和生产条件,促使艺术批评从
向内走向向外。
由结构主义的排除一切外来因素到与一切外来因
设计的科学性
技术评价、材质评价、性能评价、品质评价等。
设计的适用性
功能、经济、人体工学
设计的艺术性
创造性、美学、视觉、个性、精神性
设计的环境性
安全、低公害、无污染、生态效益(低能耗、少资源)
设计批评的建构
设 计 批 评 的 建 构
设计批评的功能 设计批评的原则 设计批评的方法

C程序设计题库及答案(精简)

C程序设计题库及答案(精简)

【章节】第1章 C++基础知识【知识点】1、 C++程序的构成与书写形式;2、基本数据类型,常量、变量和表达式3、 C++的标准输入输出【单选题】1、在C++中,源程序变为可执行程序的正确顺序应该是( ) 。

A. 编辑、链接、编译、执行B. 编辑、编译、链接、执行C. 编译、编辑、链接、执行D. 编译、链接、编辑、执行答案:B2、要把高级语言编写的源程序转换为目标程序,需要使用( ) 。

A. 编辑程序B. 驱动程序C. 调试程序D. 编译程序答案:D3、下列关于C++与C语言的关系描述中,错误的是( ) 。

A. C语言是C++语言的一个子集B. C++与C语言是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的答案:D4、下面为使用面向对象语言的正确理由是( ) 。

A. 面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B. 程序语句比面向过程语言简单C. 面向对象程序设计可以设计为自行修改错误D. 面向对象程序很容易概念化答案:D5、以下选项中,合法的用户标识符是( ) 。

A. longB. _2TestC. 3DmaxD. A.dat答案:B6、下列描述中正确的是( ) 。

A. 不是每个C++程序都必须包含预处理命令#includeB. C++程序必须有return 语句C. C++程序中的变量必须定义在主程序内部D. C++程序中所使用的符号常量可以不进行定义答案:A7、C++源程序文件的扩展名为( ) 。

B. .CC. .DLLD. .EXE答案:A8、cout是I0流库预定义的( ) 。

A. 类B. 对象C. 包含文件D. 常量答案:B9、 C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) 。

A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D10、下列选项中,( ) 是不合法的标识符.A. ProgramB. Obj23C. doubleD. B_C_D答案:C11、下列标识符中,不合法的用户标识符为( ) 。

第七章 面向对象的程序设计

第七章 面向对象的程序设计

第七章面向对象的程序设计本章是面向对象的程序设计。

与第五章介绍的面向过程的结构化程序设计不同,主要介绍面向对象程序设计的基础知识,包括面向对象的基本概念以及Visual FoxPro支持的面向对象的编程技术,详尽介绍了对各类控件的选择与使用方法。

在对诸如表单等各类控件对象的设计、操作上,面向对象的编程技术有自己的独特之处,但在所有对象的各种事件和方法的程序代码设计中,仍然使用到结构化的程序设计方法。

本章的主要内容是面向对象程序设计的理论基础,其程序设计的基本目标是设计出能在可视化环境下运行的应用程序窗口界面—表单。

7.1 学习提要1.学习目标与要求通过本章学习,读者应达到以下要求:⑴了解对象、类等基本概念;⑵理解对象的属性、方法和事件;⑶熟练掌握表单的基本设计、操作和应用;⑷掌握常用控件的设计与使用。

⑸熟练掌握常用事件、方法的过程代码的设计方法。

⑹了解自定义类的创建和使用方法。

2.重点与难点:⑴本章重点:对象与类以及属性、方法和事件等基本概念;表单的设计与应用;常用控件属性、事件和方法的选择与运用。

⑵本章难点:本章的重点即为本章的难点3.主要知识点⑴面向对象的概念①对象、类②属性、方法、事件③Visual FoxPro 中的基类⑵表单的创建与基本操作①表单的创建使用“窗体设计器”或“表单向导”创建表单。

②表单的修改、运行使用“窗体设计器”编辑修改表单。

使用菜单或命令方式运行表单。

③表单的属性、事件和方法表单常用属性的设置,表单的常用事件、常用方法。

④设置表单的数据环境数据环境的概念,数据环境的设置。

⑶表单常用控件①表单常用控件的基本操作控件对象的选定,移动位置,改变大小,剪切、复制与粘贴,删除,布局设置。

②常用控件对象标签控件,命令按钮与命令按钮组控件,文本框与编辑框控件,选项组和复选框控件,列表框和组合框控件,容器与表格控件,页框控件,计时器与微调控件,图像控件等。

③控件对象的常用属性设置Caption属性,Name属性,Alignment属性,ButtonCount属性,BackColor属性,BorderColor属性,BorderStyle属性,Enabled属性,ForeColor属性,InputMask属性,PasswordChar属性,Picture属性,Height属性,Width属性,Left属性,Top属性,Value属性,Visible属性,FontName属性,FontSize属性,ControlSource属性。

Web开发实用教程 第七章(C#)

Web开发实用教程 第七章(C#)

对应.NET类 System.Byte System.SByte System.Int16
ushort 无符号16位整数 0~216-1,即0~65535
int uint long ulong 有符号32位整数 无符号32位整数 有符号64位整数 无符号64位整数
System.UInt16
System.Int32 System.UInt32 System.Int64 System.UInt64
第7章 C#语言基础
学习目标
1.了解C#语言特点及应用前景;
2.掌握和编写C#程序的方法和步骤;
3.了解C#语法基础,包括数据类型、变量、流程控制、错 误处理等;
4. 理解类和对象的概念,能熟悉使用C#创建和使用类。
7.1 在中创建C#程序
C#是整个.NET Framework的基础语言,可以在Visual Studio环境多种开发模 式下使用C#语言,如Windows应用程序、类库等,图7-1是在Visual Studio 2005 新建项目时可供选择的模板。
7.2 数据类型
7.2.1 数据类型概述
表 7-1 C#简单数据类型表
类型 整形
关键字 byte sbyte short
说明 无符号8位整数 有符号8位整数 有符号16位整数
取值范围 0~255 -128~127 -215~215-1,即32768~32767 -231~231-1 0~232-1 -263~263-1 0~264-1
7.3
7.3.3
常量与变量
变量作用范围
变量的作用范围是指一个变量在程序中的生命周期,全局变量在整个程序中都 起作用,局部变量只在变量所在程序段中起作用。 在本章范例ConstVaria中,定义了一个静态全局变量static int sum = 0,只 要在这个页面程序的范围内,都可以访问或修改sum的值。 public partial { static int sum protected void { } protected void { } } class ConstVaria : System.Web.UI.Page = 0; Page_Load(object sender, EventArgs e)

第7章-类和对象-1

第7章-类和对象-1

成员变量
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页
按此按钮, 狮子开始跑
按此按钮, 狮子开始叫
类的方法
电动玩具狮子 属性: 颜色:黄色
行为: 跑 叫

第7章 面向对象学习方法学

第7章 面向对象学习方法学

第七章面向对象学习方法学面向对象方法学的出发点和基本原则,是尽可能按照人类的习惯思维方式,使开发软件的方法与过程尽可能接近人类认识世界解决问题的方法与过程,也就是使描述问题域空间与实现解法的解空间在结构上尽可能一致.与传统的结构化方法相比,使用面向对象方法开发的软件,其稳定性,可修改性和可重用性都比较好.本章内容主要包括:传统方法学的缺点,面向对象的基本概念,面向对象模型.7.1 基础知识7.1.1 传统方法学的缺点结构化几其他方法学的本质,是在具体的软件开发之前,通过需求分析预先定义软件需求.然后一个一个阶段地开发用户所需要的软件,实现预先定义的软件需要.过去的经验需要告诉我们,结构化及其他方法学并不能完全消除软件危机.结构化及其他方法学仍然有许多不足之处.1.问题的表现1)生产效率低在生命周期方法学中,特别重视软件开发的阶段性.为了提高了软件开发的效率,减少重大返工次数,强调必须早每个阶段结束之前进行评估.从而开发过程中实行严格的质量管理,确实提高了许多软件的开发的成功率.但是,时间表明,开发高利率仍然很有用.2)不能满足用户需要实践表明,在开发需要模糊或需求动态变化的系统时,软件系统的结果往往不能满足用户需求的变化.主要表现在两个方面:一种是开发人员不能完全获得彻底理解用户的需要,以至开发的软件系统与用户预期的系统不一致;另一种表现是,所开发的系统不能适应用户需求变化,系统的稳定性和可扩充性不能满足需要.3)软件服用就是将已有的软件成分用于构造新的软见系统.软件复用是节约人力,提高软件效率的重要途径.结构分析.设计,几乎每一次开发一个系统时都需要针对这个具体的系统做大量的重复劳动..思维成果的可复用性差.4)软件很难维护实践经验告诉我们,即使是用生命周期方法学开发出来的软件,维护起来仍然相当困难,软件维护成本很高.2.问题的原因1)结构化技术本身的问题结构分析和设计技术的基本思想是从目标系统整体功能的单个处理着手,自顶向下不断的把复杂的处理分解为子处理,一层一层的分解下去,直到剩下若干个容易实现的子处理为止。

第7章:MFC编程基础知识

第7章:MFC编程基础知识
7.1 MFC 概述 7.2 MFC的层次结构及其子类功能简介 7.3 MFC应用程序架构 习题
Visual C++
概述
VC开发应用程序的最常用的模式就是利用MFC进行Win32应 用程序的设计。简单来说,MFC就是利用面向对象的思想,将 Windows大部分API函数封装起来的一个浩瀚的类库,利用MFC 编写程序本质上就是选择该类库中合适的类,并调用其下相 应成员函数来完成某个功能。虽然MFC编程相对于API编程简 单了(入门是简单了,但作到胸中丘壑自成却不容易),但 初学者却常常忘不了学习MFC的艰难。其主要原因有:(1) MFC采用的是C++语言,对C++本身的技术没有掌握。因此想学 好MFC,必须把第一篇的内容搞清楚;(2)MFC庞大的类库中 类的命名及成员变量或成员函数的命名没有清楚,其实很简 单,MFC中的类及其成员的命名都采用的是匈牙利命名法,把 这些名字的英文直接翻译过来,就知道它是什么意思。(3) MFC编程,首先生成的是一个应用程序架构,对这个架构的不 了解导致生成的代码不知其为何如此。本章就是要给大家一 个架构的概貌;(4)传统的API编程的步骤统统不见了,使人 们不知道编写的Windows程序什么时候建立起来 、什么时候 消亡. 事实上,MFC的应用程序架构把类似于API编程所要求 的步骤都隐藏了,都封装到架构中了。
Visual C++
*7.1.5 使用C++和MFC的好处
从本书的第一篇,我们已经看出了面向对象程序设计的好处,如 可复用性、代码和数据紧密地绑定等。类是面向对象程序设计的核心 概念,程序中不仅可以使用自己建立的类,还可以使用系统所提供的 类,一个好的类库可以大大减少编码的数量。MFC成功之处在于,它是 一个类库、一个包罗计算机系统方方面面的类库、一个集MicroSoft 各路软件高手之大成的类库。通过从MFC继承自己所需要的类,可以充 分利用基类所具有的各种功能。 MFC将类、类的继承、动态约束、类的关系和相互作用等应用程序 概念封装起来,可以使开发者高效、轻松地建立Windows应用程序,而 不受设备限制并且由事件进行驱动。 MFC具有良好的通用性和可移植性,它定义了应用程序的轮廓,并 提供了用户接口的标准实现方法,程序员所要做的工作就是通过VC所 提供的各种工具来完成这个工作。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



7.2.2 筛选出候选类
对列出的名词作个初步筛选。方法如下: (1) 去除重复的概念,保留一个最确切的名称。 (2) 去除无关的概念,只保留与问题密切相关的 概念。 (3) 去除笼统的概念,用明确具体的名称代替它 们。
(4) 去除属性。 (5) 去除操作。 (6) 去除实现细节性的名词。

最后,分正常情况和异常情况分别画 出对象交互的时序图。时序图描述了各个 对象的协作执行顺序,上面的事件先执行, 下面的事件后执行。
周明 : 售货员
售货
records : ADODB.Recordse
收款
打印小票
输入商品编号、数量 要求求查询该商品信息 单价等商品详细信息
...... ...... ......

模型就是为了理解事务而对事务 作出的一种抽象,通常是用一组图示 符号和组织这些符号的规则来定义和 描述问题域中的术语和概念。

信息系统的模型常见的有形式化和图示化 两种。形式化描述方法非常精确、严谨,易 于系统以后的实现,但难以掌握和理解,模 型可读性差,往往只有专业人员才会使用, 因而难于推广。图形化方法用一组图示符号 和组织这些符号的规则来定义和描述问题域 中的术语和概念,模型直观、自然,易于描 述系统的层次结构、功能组成,且简单易学, 通常还有工具软件支持,因而成为信息系统 的主要描述工具,尽管这种方法的精确性和 严谨性较差,但实际应用很广泛。

7.1.2 建模的目的
构造模型通常的目的是: (1) 在着手解决一个复杂问题之前,建立 与检测解决方案。 (2) 对复杂问题进行适度简化。 (3) 加强视觉效果。 (4) 客户和其他相关人员析设计模型的一般形式
一个系统的特征包括两个方面,即静态特 征和动态特征。静态模型描述系统的数据结构, 主要表现为类或对象包含的属性、行为,以及 类或对象相互之间的继承和关联关系;动态模 型描述系统的控制结构,主要表现为对象为完 成某一功能而相互合作以及它们动作执行的先 后顺序。

7.2 寻找系统中的类
7.2.1
列出需求说明中的名词




软件系统中的很多类或对象都是待解决问 题中有意义的事物的抽象,关键是抓住需求说 明中的名词,重点考虑如下四个方面: (1) 自然物理对象 (2) 概念实体 (3) 人或组织的角色 (4) 发生的事件
提取名词作为初选出的类时,应注意 以下原则: (1)选择一个最有意义的词。 (2)修饰语也常常是发现类属性的线索。 (3)被动语态写成的句子,通常有隐含的 主语。 (4) 对类的种类进行建模。 (5) 从属性值抽象出类。

用面向对象的方法对软件系统进行 分析设计,首先要做的就是找出系统中的 类和对象,对它们各自的属性和操作进行 分析和设计。
7.1 建立类和对象的模型 7.2 寻找系统中的类 7.3 确定类或对象之间 7.4 设计类的属性 7.5 设计类的职责 7.6 小结
7.1 建立类和对象的模型
7.1.1
什么是模型
(2) 筛选 仔细认真地考虑那些经初步分析而确定下来 地属性,从中删掉不正确的或不必要的属性。 ① 判别是属性还是对象 ② 识别冗余属性 ③ 去除链属性 ④ 区分属性和内部状态 ⑤ 不应过于细化 ⑥ 去除无关属性
7.5 设计类的职责
类必须有其独立存在的意义,就是说, 既具备一定的属性,又负有一定的职责, 即对外提供服务。 先弄清系统的职责,再将这些职责分 配到每个类。在分析开始前,我们已经拥 有了两个重要的资源:需求说明和初步确 定的类。

7.1.3.3 表示对象的行为以及相互合作的 符号 所有的对象都具有自己的生命周期 (或称为运行周期)。生命周期中的阶段也 就是对象的状态。系统运行过程中各对象 之间总是在相互作用,某一对象受到其它 对象的触发(如发送消息要求服务),就会 发生状态的改变。
初始状态
事件1[ 条件 ] / 动作
状态1

7.4 设计类的属性
类的属性就是类的性质,对象取不同 的属性值就有不同的状态。 一般来说,确定属性的过程包括分析 和筛选两个步骤。

(1) 分析 属性的确定既与问题域有关,也和目标 系统的任务有关。应该仅考虑与具体应用直 接相关的属性,不要考虑那些超出所要解决 的问题范围的属性。


取消退货
图7.25 异常情况下退货时序图

有的系统中会有某个类与其它类的交 互行为相当复杂,这时仅仅时序图对这个 类的描述可能还不够清楚,这时我们就需 要把这个类单独提出来,用状态图加以分 析。如果围绕一个对象发生的事件较少, 问题较简单,就不必画出它的状态图来分 析。
要求输入实收金额
entry/ 计算并显示总消费金额
图7.3 继承关系的表示符号
整体
部分 1
部分 2
图7.4 聚集关系的表示符号
类1 1
类3 1 0..*
类2 1
类4
图7.5 关联关系的表示符号

两类对象之间的二元关联关系分为三 种基本类型,即一对一(1:1),一对多(1: M)和多对多(M:N)分别用数字1:1、1: 0..*和0..* :0..*标识在表示关联关系的横 线下。
对象2:类名2 对象3:类名3 消息1 消息2 消息3
对象1:类名 1
消息4
图7.9 三个对象交互的时序图
7.1.4 面向对象分析设计的一般原则
设计一个优秀的面向对象软件系统至 少要遵循以下原则: (1) 模块化与系统分解 (2) 抽象 (3) 信息隐蔽 (4) 模块间弱耦合和模块内强内聚 (5) 可重用


7.5.1 分析系统的交互行为
我们通过编写典型交互行为的脚本的 方式来明确系统的行为。 脚本是指系统在某一执行期间内出现 的一系列事件。
脚本描写的范围并不是固定的,既可 以包括系统中发生的全部事件,也可以只 包括由某些特定对象触发的事件。脚本描 写的范围主要由编写脚本的具体目的决定。 首先编写正常情况的脚本。然后,考 虑特殊情况 。

接着,我们要明确事件的发送对象和 接受对象。某事件对于它的发送对象来说 是输出事件,但是对于它的接受对象来说 则是输入对象。当一个事件的发送和接受 对象相同时,这个事件就既是输出事件又 是输入事件,比如,自发消息。

然后,我们要理清事件发生的先后 顺序,这在脚本中也应有大致的表现,不 清楚的情况要与领域专家咨询和讨论。

7.3 确定类或对象之间的关系
找出关联关系 分析关联关系能促使分析员考虑问题 的边缘情况,有助于发现那些尚未被发现 的类。 (1) 从动词短语初步找出关联 (2) 筛选出必要的关联 (3)划分主题
7.3.1

7.3.2 组成关系
组成关系是一种特殊的关联关系。组 成关系实际上描述的是所谓“……的一部 分”、“组成”或者“……包含……”这 样一类关系,即部分与整体之间的关系。

7.3.3 继承关系
有两种方式可以发现和建立继承关系: (1) 自底向上。 当子类具有和父类相同的属性和行为 时,它们存在着继承关系。
(2) 自顶向下。 把现有的类细化成更具体的子类,留 意那些带有修饰词的名词和名词词组,它 们往往暗示了一些具体类。过深的子类嵌 套会难于理解,通常经过仔细考虑和少量 的重构造,就能减少过多的继承层次。
事件2[ 条件 ] / 动作
状态2
事件3[条件]/动作
状态3
事件4[ 条件 ] / 动作
最终状态
图7.7 对象状态变化的表示符号

状态图总是针对某个特定的对象而 言的,描述该对象响应一系列事件触发发 生的状态转变。状态图中定义的状态有初 始状态、最终状态、中间状态、复合状态。

我们常用时序图来描述几个对象的交 互作用。表示符号如图7.9所示。

7.1.3.1 表示类和对象的图形符号
图7.1是类和对象的表示符号,类和对 象都用矩形框表示,类或对象名、每个属性、 每个操作(行为)都各占一格。
的符号
7.1.3.2 表示类之间关系 继承、聚集(组成)、关联等关系表示符 号分别如图7.3、图父类 7.4、图7.5所示。


子类 1
子类 2
首先找出系统中的类,然后确定类或 对象之间的关系,接着再设计类的属性, 最后确定类的职责。初学者应该严格按照 这些方法、步骤先分析设计一些简单的系 统,主要是在学习中建立起以对象为中心 来分析系统设计问题的思维方式。
精品课件!
精品课件!

但是,对象的设计不是个严格的流水线操 作过程,很多问题的发现和解决是相互启发和 补充的,比如,几个类的公共属性导致了继承 关系的发现,新加入的操作需要给类补充新的 属性。所以,面向对象的分析设计方法是相当 灵活的,由于对象模型在整个开发阶段都是有 用的,整个分析设计过程就是一个反复修改完 善的过程。在系统实现前,分析阶段的设计结 果可能还会有必需的改动,这和系统的实现语 言和开发环境有较大关系。


7.5.2 将交互行为分配到类或对象
首先,我们要根据脚本确定系统中发 生了哪些事件。这些事件包括: (1) 系统与用户或外部设备交互的所有信 号、输入输出、中断、动作等等。正常情 况和异常情况下发生的事件都必须考虑在 内。

(2) 发送信息的对象的动作。大多数对象 到对象的交互行为都对应着事件。如前台 终端请求中央计算机验证用户的身份,就 对应了一个事件。
确认无误 显示收款窗口 显示消费总金额 输入实收金额 显示找零 确认收款完成 打印购物小票 记录此次销售信息 记录购物小票信息
图7.24 正常情况下售货时序图
周明 : 售货员
退货
record : ADODB.Recordse
输入小票编号、退货编号、数量 检查退货数量 数量错误 显示出错窗口 确认 清除退货 窗口信息 撤销退货窗口
相关文档
最新文档