第10章 面向对象的方法
第9章 面向对象的分析设计方法

第9章 面向对象的分析设计方法
9.1 面向对象的分析与设计方法概 述
面向对象技术是当前的热门话题,也是软件开发方法 的潮流和方向。面向对象方法的形成最初是从面向对象程 序设计语言开始的,随后才逐渐形成了面向对象的分析和 设计。面向对象是近几十年来国内外IT行业最为关注的技 术之一,面向对象技术是一种按照人们对现实世界习惯的 认识论和思维方式来研究和模拟客观世界的方法学。它将 现实世界中的任何事物都视为“对象”,将客观世界看成 是由许多不同种类的对象构成的,每一个对象都有自己的 内部状态和运动规律,不同对象之间的相互联系和相互作 用就构成了完整的客观世界。面向对象方法(Object Oriented,简称OO方法)克服了传统的功能分解方法只能 单纯反映管理功能的结构状态、数据流程模型只侧重反映 事物的信息特征和流程、信息模拟只能被动地迎合实际问 题需要等缺点,构成以系统对象为研究中心,为信息管理 系统的分析与设计提供了一种全新的方法。
第9章 面向对象的分析设计方法
面向对象方法就是以对象为中心、以对象为出发点的方 法。在应用领域中有意义的、与所要解决的问题有关系的任 何人或事物(即我们说的实体)都可以作为对象,它既可以 是具体的物理实体的抽象,也可以是人为的概念,或者是任 何有明确边界和意义的事物或东西。在面向对象方法中,对 象是一组数据(属性)和施加于这些数据上的一组操作代码 (操作)构成的独立类体。换言之,对象是一个有着各种特 殊属性(数据)和行为方式(方法)的逻辑实体。对象是一 个封闭体,它向外界提供一组接口界面,外界通过这些接口 与对象进行交互,这样对象就具有较强的独立性、自治性和 模块性,从而为软件的重用奠定了坚实的基础。
第9章 面向对象的分析设计方法
第9章 面向对象的分析设计方法 章
面向对象程序设计教案

面向对象程序设计教案第一章:面向对象程序设计概述1.1 面向对象程序设计的基本概念了解面向对象程序设计的定义和特点理解对象、类和实例之间的关系1.2 面向对象程序设计的原则掌握封装、继承和多态的概念理解面向对象程序设计的优势1.3 面向对象程序设计与面向过程程序设计的比较分析面向对象程序设计与面向过程程序设计的区别和联系掌握面向对象程序设计的方法和技巧第二章:类的定义与创建2.1 类的定义和声明学习类的基本语法和结构理解类的作用和用途2.2 成员变量和方法的定义掌握如何定义类的成员变量和方法学习访问修饰符的作用和用法2.3 创建对象实例学习如何使用构造方法创建对象实例理解对象引用的概念和用法第三章:封装与数据隐藏3.1 封装的概念和原理理解封装的意义和作用学习如何实现封装3.2 访问修饰符的使用掌握public、private和protected修饰符的区别和用法学习如何实现数据隐藏和封装3.3 静态成员变量和方法学习静态成员变量和方法的概念和用法理解静态成员与实例成员的区别第四章:继承与多态4.1 继承的概念和原理理解继承的意义和作用学习如何实现继承4.2 继承的类型和特点掌握继承的分类和特点学习如何使用继承优化代码和提高可复用性4.3 多态的概念和原理理解多态的意义和作用学习如何实现多态第五章:接口与抽象类5.1 接口的概念和定义理解接口的定义和作用学习如何定义和使用接口5.2 抽象类的概念和用途理解抽象类的概念和用途学习如何创建抽象类和实现抽象方法5.3 接口与抽象类的比较和选择分析接口和抽象类的区别和联系学习如何根据需求选择使用接口或抽象类第六章:集合框架与泛型6.1 集合框架的概述理解集合框架的作用和目的学习集合框架的基本接口6.2 List、Set和Map接口掌握List、Set和Map接口的定义和用法学习ArrayList、LinkedList、HashSet、TreeSet和HashMap等常用实现类6.3 泛型的概念和使用理解泛型的好处和原理学习如何使用泛型定义集合和方法第七章:异常处理与文件操作7.1 异常处理的基本概念理解异常的概念和作用学习如何使用try-catch语句进行异常处理7.2 自定义异常学习如何创建自定义异常类理解自定义异常的使用和意义7.3 文件操作的基本方法学习文件和文件I/O的概念掌握文件读写和随机访问的方法和技巧第八章:多线程与并发8.1 多线程的基本概念理解线程的概念和作用学习如何创建和启动线程8.2 线程的生命周期和状态掌握线程的生命周期和状态转换学习线程的同步和通信8.3 并发工具和线程安全了解并发工具类库(如java.util.concurrent)的基本组件学习线程安全问题和同步解决方法第九章:网络编程基础9.1 网络编程的基本概念理解网络编程的意义和作用学习InetAddress、Socket和ServerSocket等基本类9.2 客户端与服务器端的通信掌握客户端与服务器端的通信原理和过程学习使用Socket实现简单的网络通信9.3 网络协议与数据传输了解常见的网络协议和数据传输方式学习如何处理网络字节流和字符流第十章:设计模式与软件工程10.1 设计模式的概念和分类理解设计模式的意义和作用学习常见的设计模式(如单例、工厂、观察者等)的定义和用法10.2 软件工程的基本原则理解软件工程的目标和原则学习软件开发过程中的常用方法和工具10.3 面向对象设计的原则和技巧掌握面向对象设计的要点和技巧学习如何提高代码质量和可维护性重点和难点解析重点环节一:对象的创建和使用理解构造方法的作用和如何通过new关键字创建对象实例。
第3章-面向对象开发方法

3.1 面向对象方法的基本含义
3.1.2 面向对象方法和结构化方法的比较
面向对象方法 结构化方法 原型法 1.系统在分析阶 1.用户素质、系统分析 1.不适合大规模系统开发; 段对对象的抽象困员和管理者之间的沟通 2.开发过程管理要求高,要经过 难; 要求高; “修改—评价—再修改”的多次 2.需要一定的软 2.开发周期长,文档过 反复; 件基础支持才能应多,难于适应环境变化; 3.用户过早看到系统原型,误认 用; 3.结构化程度较低的系 为最终系统就是原型模样,易使 缺 点 3.结构化程度不 统,在开发初期难以锁 用户失去信心; 高 定功能要求; 4.开发人员易将原型取代系统分 4.各阶段的审批工作困 析;缺乏规范化的文档资料; 难;所使用的工具落后。 5.需要较高的系统开发环境支持, 如系统开发工具、软硬件、开发 环境、开发人员及用户素质等
定义一:面向对象方法是一种运用对象、类、封装、继承、 多态和消息等概念来构造、测试、重构软件的方法。
定义二: 面向对象方法是以认识论为基础,用对象来理 解和分析问题空间,并设计和开发出由对象构成的软件系 统(系统责任)的方法。 • 面向对象的分析过程就是认识客观世界的过程。
3.1 面向对象方法的基本含义
3.4 面相对象方法的优点
• 从认知学的角度来看,面向对象方法符合人们对客观世界 的认识规律。 • 面向对象方法开发的系统易于维护,其体系结构易于理解、 扩充和修改。面向对象方法开发的软件系统有对象类组成, 对象的封装性很好地体现了抽象和信息隐蔽的特征。当对 象的接口确定以后,实现细节的修改不会影响其他对象, 易于维护。 • 面向对象方法中的继承机制有力支持软件的复用。在同一 应用领域的不同应用系统中,往往会涉及到许多相同或相 似的实体,这些实体在不同的应用系统中存在许多相同的 属性和操作,也存在着一些不同的应用系统所特有的属性 和操作。可以通过继承来复用公共的属性和操作。
ENVI面向对象的分类方法

影像对象的分 类 影像对象的分类目前常用的 方法是“监督分类”和“基 于知识分类”。这里的监督 分类和我们常说的监督分类 不同,它分类时和样本的对 比参数更多,除了光谱信息, 还包括空间、纹理等信息。 基于知识分类是根据影像对 象的熟悉来设定规则进行分 类。
比较常用的就是多尺度分 割算法。
面向对象分类技术概述
1envi面向对象的分类方法面向对象分类技术概述a基于规则的面向对象信息提取b基于样本的面向对象的分类camet01面向对象分类技术集合临近像元为对象用来识别感兴趣的光谱要素
遥感13-1
ENVI面向对象的分类方法
A
面向对象分类技术概述
B 基于规则的面向对象信息提取 C 基于样本的面向对象的分类
面向对象分类技术概述
第一步:准备工作
根据数据 源和特征 提取
类型等情 况 , 可以 有选 择地对数 据做一些 预处 理工作。
空间分辨率的调整
光谱分辨率的调整
多源数据组合
空间滤波
比如右边几项:
第二步:发现对象
1.
启动 Rule Based FX工具
2.
影像分割、合并
分割阈值
①
②
合并阈值
纹理内核的大小
③
第三步:根据规则进行特
征提取
例如居住房屋
容易跟居住房屋错分的地 物有:道路、森林、草地 以及房屋旁边的水泥地。 所以第一条属性描述,划 分植被覆盖和非覆盖区。 第二条属性描述,剔除道 路干扰。第三条属性描述,
在规则分类界面。每一个 分类有若干个规则(Rule) 组成,每一个规则有若干 个属性表达式来描述。规 则与规则之间是与的关系, 属性表达式之间是并的关
目标检测网络

★第10章 目标面检测向网对络象的开发方法
• 传统的面向过程的开发方法是以过程为 中心,以算法为驱动,因此,面向过程 的编程语言是程序=算法+数据
• 面向对象的开发方法是以对象为中心, 以消息为驱动,因此,面向对象的编程 语言是程序=对象+消息。
• 传统开发方法开发软件存在的问题
– 软件重用性差 – 软件可维护性差 – 软件稳定性差
• 这些定义蕴含了类层次的存在,父类的 属性和操作被子类继承,而子类也可以 加入自己“私有的”属性和方法。
★第10章 目标检测网络 属性
• 属性依附于类和对象,并且以某种方式 描述类或对象。Champeaux及其同事 给出了如下的关于属性的讨论:
• 现实的实体经常用指明其稳定特性的词 来描述。大多数物理对象具有形状、重 量、颜色和材料类型等特性;人具有生 日、父母、名字、肤色等特性,特性可 被视为在类和某确定域之间的二元关系 。
★第10章 目标检测网络 10.1 目标检测基础知识
➢ 传统目标检测方法主要包含三个关键步骤:区域选择、 特征提取和分类器分类。
★第10章 目标检测网络 10.1 目标检测基础知识
Fast R-CNN、Faster R-CNN等一系列算法,这些算 法在步骤上由获取候选区域以及目标识别定位两个步骤组 成,一般称为两阶段(two-stage)目标检测方法。
★第10章 目标检测面网向络对象的分析
• 面向对象的分析(Object Oriented Analysis, OOA),是在一个系统的开发 过程中进行了系统业务调查以后,按照面 向对象的思想来分析问题。四个基本步骤 :
– 第一步,获取功能需求。 – 第二步,根据功能和参与者确定系统的对象
和类。 – 第三步,确定类的结构、主题、属性和方法
方法

怎样用方法实现?
if (pay <= 1600) // 低于1600不缴税 { afterTax = pay; } else // 高于1600 部分按税率缴税 { afterTax = pay - (pay - 1600) * taxRate; } Console.WriteLine("税前工资{0},税后工资{1}", pay, afterTax);
8
方法参数的传递
调用方法时,要求 方法名,参数个数,参数顺 序,参数类型,方法的返回值 等方面要一致。 调用求阶乘的方法:long result=Fact(5) 调用求税后工资的方法: int pay=int.Parse(Console.ReadLine()); float taxRate = 0.1f; float ResultPay= GetPay(pay,taxRate);
// 交换两个数的方法 private static void Exchange(ref int num1, ref int num2) { int temp; // 中间变量 temp = num1; num1 = num2; num2 = temp; }
16
两种传参方式的比较
调用方法
调用前
num1=3
sum = a+b+c; aver = (a+b+c)/3.0;
} int a=20, b=30, c=45; int sum; double average; GetSumAndAverage(a,b,c, out sum, out average); Console.WriteLine("和是:{0}, 平均值是:{1}",sum,average);
第9章面向对象方法学

(三) 面向对象的概念
1. 对象
在应用领域中有意义的、与所要解决的 问题有关系的任何事物都可以作为对象。 它既可以是具体的物理实体的抽象,也 可以是人为的概念,或者是任何有明确边界和 意义的东西。
客观世界的问题看成对象取决于应用的 视角和问题的性质。 当你在路上找人,你看到的对象就是流 动的人群; 当你需要出租车,你看到的对象就是过 往的车辆。
当对象 MyCircle 接受到这个消息后, 执行Circle类中所定义的 Show 操作。 注意: 1)消息由接受消息的对象来解释。 (MyCircle 就是接受消息的对象) 2)一个对象需要另一个对象服务时,就向 它发出请求服务的消息。这时,接受消息 的对象响应消息,触发所要求服务的操作 的方法来完成服务。
OO技术以对象(object)为核心,把静态 属性的数据,和对这些数据施加的操作封装在 一起所构成的统一体。
2. 稳定性好 面向对象的软件系统的结构是根据问题 领域的模型建立起来的。 (而传统方法是基于系统的功能的分解。) 当对系统的功能需求变化时并不会引起 软件结构的整体变化。因此,以对象为中心构 造的软件系统也是比较稳定的。
7. 封装(encapsulation) 从字面上理解,所谓封装就是把某个事物 包起来,使外界不知道该事物的具体内容。 对象具有封装性的条件如下: (1) 有一个清晰的边界。 (2) 有确定的接口。这些接口就是对象可 以接受的消息,只能通过向对象发送消息来使 用它。 (3) 受保护的内部实现。实现对象功能的 细节(私有数据和代码)不能在定义该对象的 类的范围外访问。
一. 传统方法学的问题
(一) 软件不能真正满足用户需求
1. 软件开发效率低 2. 软件不能满足“需求变化”、“需求模糊” 和“需求灵活性” 3. 软件重用度低 4. 软件仍然很难维护
大学计算机基础第10章 程序设计基础

4. 程序设计的基本控制结构
4.2 选择(分支)结构 (1)单路分支选择结构 单路分支选择结构是根据判断结构入口点处的条件来 决定下一步的程序流向。如果条件为真则执行语句组1, 否则什么也不执行直接到达结构的出口点处。
4. 程序设计的基本控制结构
4.2 选择(分支)结构 (2)双路分支选择结构 两路分支选择结构是根据判断结构入口点处的条件来 决定下一步的程序流向。如果条件为真则执行语句组1, 否则执行语句组2。
• 操作码:表示计算机该做什么操作 • 操作数:表示计算机该对哪些数据做怎样的操作
1.2.2 指令系统
• 一台计算机所能执行的全部操作指令称为它的指令系统
1.程序和程序设计
1.3 程序设计
• 学习目的 • 程序设计步骤
• • • • • • 分析问题,确定解决方案 建立数学模型 确定算法(算法设计) 编写源程序 程序调试 整理资料
2.结构化程序设计的基本原则
2.2 程序设计的风格
• • • • 程序设计的风格 程序设计语言运用的风格 程序文本的风格 输入/输出的风格
2.结构化程序设计的基本原则
2.3 结构化程序设计的原则 荷兰学者迪克特拉(Dijkstra)提出了一套方法,它规 定程序要具有合理的结构,以保证和验证程序的正确性。 (1)自顶向下 (2)逐步求精 (3)模块化 (4)限制使用Go To语句
3.算法
• 3.3 算法的描述
(3)流程图 流程图是一种传统的算法表示法,它利用几何图形的框来 代表各种不同性质的操作,用流程线来指示算法的执行方向。
流程图的常用符号
符 号 符 号 名 称 起止框 输入/输出框 处理框 判断框 流向线 连接点 含 义 表示算法的开始或结束 表示输入/输出操作 表示对框内的内容进行处理 表示对框内的条件进行判断 表示算法的流动方向 表示两个具有相同标记的“连接点”相连
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章例题分析与解答作者:不详来源:2006年9月4日发表评论进入社区一、填空题1.面向对象方法认为系统是由应用域的______组成。
2.对象具有状态,描述对象的状态用它的______。
3.对象的抽象是______。
4.类之间有两种结构关系,它们是分类关系和______关系。
5.面向对象程序设计语言与其他程序设计语言的最主要差别是它具有______。
6.动态模型描述了系统的______。
二、选择题1.火车是一种陆上交通工具,火车和陆上交通工具之间的关系是( )关系。
A.组装B.整体成员C.has aD.一般具体2.面向对象分析阶段建立的三个模型中,核心的模型是( )模型。
A.功能B.动态C.对象D.分析3.对象模型的描述工具是( )。
A.状态图B.数据流图C.对象图D.结构图4.在有多重继承的类层次结构中,它的类层次结构是( )层次结构。
A.树型B.网状型C.环型D.星型5.描述类中对象的行为,反映了状态与事件关系的是( )。
A.对象图B.状态图C.流程图D.结构图6.在确定属性时,所有( )是候选的属性。
A.动词B.名词C.修饰性名词词组D.词组三、应用题1.建立窗口系统的对象模型。
问题陈述如下:窗口分为对话窗、图形窗、滚动窗三种;对话窗中有若干对话项,由唯一的项名字来确定,对话项分为按钮、选择项、正文项三种,选择项中有若干对话项入口;图形窗中有若干形状元素,形状元素分为一维形状和二维形状,一维形状又分为直线、圆弧、折线;二维形状分为圆、椭圆、矩形、多边形,其中多边形和折线由若干有序顶点组成,正文窗是滚动窗的一种,而图形滚动窗既是一种图形窗又是一种滚动窗。
2.在学校教学管理系统中,学生查询成绩就是系统中的一次交互,请用状态图来描述这种查询的交互行为。
答案:一、填空题1.对象2.属性值3.类4.组装5.继承性6.动态行为二、选择题1.D2.C3.C4.B5.B6.C三、应用题1.2.第10章自测题及参考答案作者:不详来源:2006年9月1日发表评论进入社区一、名词解释1.对象2.类3.属性4.操作5.消息6.消息传递7.方法8.关系9.关联10.一般具体关系 11.整体部分关系12.继承13.单重继承 14.多重继承15.多态性 16.角色17.受限关联 18.封装19.对象模型20.动态模型21.功能模型 22.事件23.状态24.事件追踪25.状态图26.动作27.活动28.处理29.数据流30.动作对象31.数据存储对象 32.重用性二、填空题1.对象具有封装性,实现了______的结合。
2.类的实例化是______。
3.类具有属性,描述类的属性用______。
4.类具有操作,它是对象______的抽象。
5.对象之间进行通信的构造叫做______。
6.子类自动共享父类的属性和操作的机制称为______。
7.子类只继承一个父类的属性和操作,这称为______。
8.不同应用中信息共享的这种机制和构造是通过______来实现的。
9.对象模型的主要元素是类、关联和______。
10.受限关联由两个类和一个______组成。
三、选择题1.汽车有一个发动机。
汽车和发动机之间的关系是( )关系。
A.一般具体B.整体成员C.分类关系D.is a2.面向对象程序设计语言不同于其他语言的最主要特点是( )。
A.模块性B.抽象性C.继承性D.共享性3.软件部件的内部实现与外部可访问性的分离,是指软件的( )。
A.继承性B.共享性C.封装性D.抽象性4.类库这种机制是( )级别的信息共享。
A.同一类B.不同类C.同一应用D.不同应用5.动态模型的描述工具是( )。
A.对象图B.结构图C.状态图D.设计图6.在只有单重继承的类层次结构中,类层次结构是( )层次结构。
A.树型B.网状型C.星型D.环型7.表示对象的相互行为的模型是( )模型。
A.对象B.动态C.功能D.静态8.有时间间隔的操作是( )。
A.动作B.活动C.加工D.处理9.与事件联系在一起的瞬时操作是( )。
A.处理B.动作C.活动D.加工10.在确定类时,所有( )是候选的类。
A.名词B.形容词C.动词D.代词11.常用动词或动词词组来表示( )。
A.对象B.类C.关联D.属性四、简答题1.说明面向对象的特征。
2.说明面向对象的要素。
3.说明对象的本质。
4.说明对象模型的特征。
5.说明动态模型的特征。
6.说明功能模型的特征。
7.说明构造对象模型的各个元素及图形表示。
8.说明构造动态模型的各个元素及图形表示。
9.说明构造功能模型的各个元素及图形表示。
10.说明分析阶段建立的三个模型的关系。
11.说明确定类、属性、关联的方法。
12.说明确定一般具体关系的方法。
13.说明确定整体部分关系的方法。
14.说明确定操作的方法。
15.说明建立对象模型的过程。
16.说明建立动态模型的过程。
17.说明建立功能模型的过程。
18.说明系统设计的步骤。
19.说明对象设计的步骤。
20.说明面向对象的实现。
五、应用题1.一本书的组成有一个封面,一个目录,一个前言,若干章,每章有若干节,每节有若干段,每段有若干句子,每节有0个或多个插图,还有0个或多个表格,最后有一个附录。
建立该书的对象模型。
2.交通工具分为空中、陆上、水上交通工具,空中交通工具分为客机、货机、专用轻型机,陆上交通工具分为火车、汽车;火车汽车又分为客车、货车;水上交通工具分为客轮、货轮、客货混合轮。
建立交通工具的对象模型。
3.一台微机有一个显示器,一个主机,一个键盘,一个鼠标,汉王笔可有可无。
主机包括一个机箱,一个主板,一个电源,存储器等部件。
存储器又分为固定存储器、活动存储器,固定存储器又分为内存和硬盘,活动存储器又分为软盘和光盘。
建立微机的对象模型。
4.一个软件公司有许多部门,分为开发部门和管理部门两种。
每个开发部门开发多个软件产品。
每个部门由部门名字唯一确定。
该公司有许多员工,员工分为经理、工作人员和开发人员。
开发部门有经理和开发人员,管理部门有经理和工作人员。
每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。
每位经理可主持多个开发项目。
建立该公司的对象模型。
5.在温室管理系统中,有一个环境控制器类,当没有种植作物时处于空闲状态。
一旦种上作物,就要进行温度控制,定义气候,即在什么时期应达到什么温度。
当处于夜晚时,由于温度下降,要调用调节温度过程,以便保持温度;太阳出来时,进入白天状态,由于温度升高,要调用调节温度过程,保持要求的温度。
当日落时,进入夜晚状态。
当作物收获,终止气候的控制,则进入空闲状态。
建立环境控制器类的状态图。
参考答案二、填空题1.数据和操作2.对象3.数据结构4.行为5.消息6.继承7.单重继承8.类库9.关系10.限定词三、选择题1.B2.C3.C4.D5.C6.A7.B8.B9.B 10.A 11.C五、应用题1.书的对象模型如图10-1所示。
2.交通工具的对象模型如10-2所示。
3.微机的对象模型如图10-3所示。
4.软件公司的对象模型如图10-4所示。
5.温室管理系统中的环境控制器类的状态图如图10-5所示。
第十章仿真试题作者:不详来源:2006年9月1日发表评论进入社区1.面向对象的开发方法中,()将是面向对象技术领域内占主导地位的标准建模语言。
A、Booch方法B、UML语言C、OMT方法D、Coad方法2、一个面向对象系统的体系结构通过它的()关系确定。
A、类与对象B、成分对象和对象C、过程和对象D、类与对象3、功能模型中所有的()往往形成一个层次结构。
在这个层次结构中一个数据流图的过程可以由下一层的数据流图作进一步的说明。
A、数据流图B、概念模型图C、状态迁移图D、事件追踪图4、()应当在应用分析之前进行,因为我们在了解问题之前应当对问题敞开思想考虑,不应加以限制。
A、论域分析B、高层分析C、实例的建立D、类的开发5、通过执行对象的操作改变对象的属性,但它必须通过()的传递。
A、接口B、消息C、信息D、操作6、所有的对象可以成为各种对象类,每个对象类都定义了一组()A、说明B、方法C、过程D、类型7、一个面向对象系统的体系结构通过它的成分对象和对象间的关系确定,与传统的面向数据流的结构化开发方法相比,它具有的优点是A、设计稳定B、变换分析C、事务分析D、模块独立性8、每个对象可用它自己的一组属性和它可以执行的一组()来表征。
A、行为B、功能C、操作D、数据9、面向对象的主要特征除对象唯一性、封装、继承外,还有()A、多态性B、完整性C、可移植性D、兼容10、在面向对象的设计中,我们应遵循的设计准则除了模块化、抽象、低耦合、高内聚以外,还有()A、隐藏复杂性B、信息隐藏C、即存类的重用D、类的开发11、应用执行对象的操作可以改变该对象的()A、属性B、功能C、行为D、数据12、面向对象软件技术的许多强有力的功能和突出的优点,都来源于把类组织成一个层次结构的系统,一个类的上层可以由父亲,下层可以有子类,这种层次结构系统的一个重要性质是(),一个类获得其父亲的全部描述(数据和操作)A、传递性B、继承性C、复用性D、并行性13、在考察系统的一些涉及时序和改变的状况时,要用动态模型来表示。
动态模型着重于系统的控制逻辑,它包括两个图:一个是事件追踪图,另一个是()A、数据流图B、状态图C、系统结构图D、时序图答案:1.B 2.B 3.A 4.A 5.B 6.B 7.A 8.C 9.A 10.B 11.A 12.B 13.B第10章1、说明对象、类、类结构、消息的基本概念。
答:(1)对象:对象是人们要进行研究的任何事物,它不仅能表示具体的事物,还能表示抽象的规则、计划或事件。
对象包括有形实体、作用、事件、性能说明等类型。
对象具有状态和行为。
一个对象用数据值来描述它的状态,对象的操作则用于改变状态,对象及其操作就是对象的行为。
对象实现了数据和操作的结合,使数据和操作封装于对象的统一体中。
对象内的数据具有自己的操作,从而可灵活地专门描述对象的独特行为,具有较强的独立性和自治性,其内部状态不受或很少受外界的影响,具有很好的模块化特点。
为软件重用奠定了坚实的基础。
(2)类:具有相同或相似性质的对象的抽象就是类。
因此,对象的抽象就是类,类的具体化就是对象,也可以说类的实例是对象。
(3)类结构:类与类之间的结构关系,包括一般-具体结构关系和整体-部分结构关系。
一般-具体关系结构称为分类结构,也可以说是"或"关系或"is a"关系,类的这种层次结构可用来描述现实世界中的一般化的抽象关系,通常越在上层的类越具有一般性和共性,越在下层的类越具体、越细化。
整体-部分结构称为组装结构,它们之间的关系是一种"与"关系,或者是"has a"关系。