面向对象方法题库1-1-9

合集下载

面向对象系统分析与设计 阶段作业1

面向对象系统分析与设计 阶段作业1

一、单项选择题(共10道小题,共100.0分)1. 在类图中,那个类图中的类Order所生成的代码具有Public class Order{Public Customer recipient;}的形式?A.B.C.D.知识点: 阶段作业一学生答案: [A;] 标准答案: A得分: [10] 试题分值: 10.02. 下列关于面向对象方法中描述中错误的是()。

A. 使用设计模式有助于在软件开发中应用面向对象技术B. 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度一、单项选择题(共10道小题,共100.0分)1. 在类图中,那个类图中的类Order所生成的代码具有Public class Order{Public Customer recipient;}的形式?A.B.C.D.2. 下列关于面向对象方法中描述中错误的是()。

A. 使用设计模式有助于在软件开发中应用面向对象技术B. 选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C. UML作为一种可视化建模语言需要与RUP开发过程同时使用D. 目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法3. 下面关于职责、行为、方法和操作之间的区别叙述错误的是:()A. 职责是对象对其它对象的义务,所有的对象都必须有职责。

B. 职责有两种:获知和执行。

C. 行为是通过操作完成的任务。

D. 操作是UML中被定义为可以请求对象的服务方法4. 关于用例与类的对比中()是错误的。

A. 都属于模型结构元素B. 都存在继承关系C. 类描述系统的部分静态视图,用例描述系统动态的行为视图D. 类描述的是系统的内部构成,用例也可以描述系统的内部构成5. 在一个网络游戏系统中,定义了类Cowboy和类Castle,并在类Cowboy中定义了方法open(c:Castle)和方法Close(c:Castle),则类Cowboy和类Castle之间的关系是:A. 依赖(dependency)关系B. 组合(composition)关系C. 泛化(generalization)关系D. 包含(include)关系6. 汽车(Car)由轮子、发动机、油箱、座椅、方向盘等组成。

C++1-9章基础知识(含答案)

C++1-9章基础知识(含答案)

D、 C++程序中,main 函数只能位于程序的最前面
3. 以下叙述中不正确的是______。
A、C++语言中不区分字母的大小写
B、C++程序中的注释不参与程序的运行
C、C++语言是 C 语言的扩展
D、C++程序总是从 main 函数开始执行
4. C++源程序文件的扩展名为 ______。 ?工作区文件、工程文件、目标文件、可执行文
A、sizeof(a)的值与 sizeof(p)的值相等
B、sizeof(a)的值与 strlen(p)的值相等
C、strlen(p)的值与 strlen(a)的值相等
D、sizeof(p)的值与 strlen(a)的值相等
31. 以下不能正确进行字符串赋初值的语句是 ______。
A、char str[5]="good!";
A、case for int C、 bool class long
B、default then while D、 goto return char
10. 已定义 ch 为字符型变量,以下赋值语句中错误的是__________。
A、ch=’\’;
B、ch=62+3; C. ch=NULL;
D. ch=’\xaa’;
A、 1 B、0 C、与 x 值相同 D、与 x 值相反
19. 字符串"a+b=12\n"的长度为__________。
A、6
B、7
C、8 D、9
20. 执行如下语句序列后 z 的值为______。
int x=5, y=6, z ; float a=5 ; z=y/x + y/a +a ;

C++面向对象程序设计考试试卷(详细讲解)(1)

C++面向对象程序设计考试试卷(详细讲解)(1)

C++面向对象程序设计考试试卷(详细讲解)(1)C++面向对象程序设计考试试卷(详细讲解)一、单项选择题(共20题,每题1分,共20分)1、下列关于C++标识符的命名不合法的是 C 与C#一样A. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:()Dint x=2; char w='a'; float y=23.45f; double z=45.6712;则表达式w*x+y-z的结果类型是A. floatB. charC. intD. double6、对重载函数形参的描述中,错误的是 D 重载是重点A. 参数的个数可能不同B. 参数的类型可能不同C. 参数的顺序可能不同D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是 DA. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是 DA. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是 CA.某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10、关于构造函数特点的描述中,错误的是 AA. 定义构造函数必须指出类型(构造函数特点是无返回类型)B. 构造函数的名字与该类的类名相同C. 一个类中可定义0至多个构造函数(不写构造函数,系统会自动生成一个空的构造函数)D. 构造函数是一种成员函数11、下面程序的运行结果为 C#includeint add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;< p="">}int x=20,y=5;int add(int a,int b){int s=a+b;return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是 BA. 常成员包含常数据成员和常成员函数两种B. 常数据成员必须是公有的C. 常数据成员要使用构造函数成员初始化列表进行初始化D. 常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是 BA. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend14、如果有int x,*p; float y,*q;则下面操作正确的是 CA.p=x B.p=qC.p=&x D.p=&y16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是 DA. 数组的长度B. 数组第一个元素的值C. 数组所有元素的值D.数组第一个元素的地址17、对于动态分配内存空间描述正确的是 DA.使用new运算符分配的内存空间的长度必需是常量B.delete运算符可以释放动态的存储空间和静态的存储空间C.由new分配的内存空间是不连续的D.delete运算符只能释放由new分配的动态存储空间18、能够释放对象所占资源的是() AA.析构函数 B.数据成员C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字 CA.static B.frendC.virtual D.public20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是) C A.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9题16空,每空1分,共16分)1、函数重载时,编译系统会根据__形参的类型__ 或__形参的个数__ 来区分。

黄梯云《管理信息系统》笔记和课后习题详解(面向对象的系统开发)

黄梯云《管理信息系统》笔记和课后习题详解(面向对象的系统开发)

第9章面向对象的系统开发9.1 复习笔记一、面向对象方法的基础理论1.面向对象的基本概念(1)对象(Object)①概念对象泛指所要研究的具体事物、抽象概念等。

在面向对象的系统中,问题对象是基本的运行实体,由一组数据和施加于这些数据上的一组操作封装而成。

②构成对象的基本要素a.标识标识即对象的名称,用来在问题域中区分其他对象。

b.数据数据也称状态,用于描述对象属性的存储或数据结构。

c.操作操作即对象的行为,对象运动特性的描述。

d.接口接口是指对象接受外部消息所指定的操作名称集合。

③记录对象禁止特征的数据类型a.公共数据对外界是可见的,用于对象间信息的传递。

b.私有数据是对象操作实现过程中的局部信息,外界不可见。

④数据和操作间的相互作用图9-1说明了对象的内部组织以及与其他对象的联系机制。

图9-1 对象的内部组织以及与其他对象的联系机制(2)类(Class)类是相似对象的集合,现实世界中由许多内部状态和外部行为相似的对象构成的集合就是类。

①标识标识即类的名称,用以区分其他类。

②继承继承描述子类承袭父类的名称,以及结构与功能。

③数据结构数据结构是对该类数据包含数据项的描述。

④操作操作是该类通用功能的具体实现方法。

⑤接口接口是面向其他类的统一的外部通信协议。

(3)消息(Message)消息是实现对象与对象间相互合作的通信载体,是连接对象的纽带,也是请求对象执行某个处理或提供某些信息的要求。

①消息传递当消息发送给某个对象时,接收到消息的对象经过解释予以响应,对象间的这种相互合作需要一个机制协助进行,这样的机制称为“消息传递”。

②消息传递模型图9-2就表示了一个消息传递的模型。

图9-2 消息传递模型(4)继承(Inheritance)继承是指一个类(即称子类)因承袭而具有另一个类(或称父类)的能力和特征的机制或关系。

①继承的特征层次结构的上部(或祖先类)具有通用性,下部(后代类)具有特殊性。

②有继承关系的类应具有的特性a.共享性共享性包括数据和程序代码的共享。

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。

A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。

A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。

A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。

A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。

‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。

A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料

Java语言及面向对象技术复习资料一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()A.public void main(String args[])B.static void main(String args[])C.public static void Main(String args[])D.public static void main(String args[])2、下列哪项是正确的float变量的声明?()A.float foo=-1; B.float foo=1.0;C.float foo=2.02f; D.float foo=0x0123;3、对于int a[]=new int[3];下列哪个叙述是错误的?()A.a.length的值是3。

B.a[1]的值是1。

C.a[0]的值是0。

D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。

class Hello {Hello (int m) {}int Hello() {Return 20;}hello() {}}6、下列哪个叙述是正确的?()A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()A.子类继承父类的构造方法B.abstract类的子类必须是非abstract类C.子类继承的方法只能操作子类继承和隐藏的成员变量D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {static int m;static void f() {m=20; //A}}class B extends A {void f() //B{ m=222; //C}}class E {public static void main(String args[]) {A.f();}}9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;} B.public void getNum() {};C.public void getNum(double d) {}D.public double getNum(float d) {return 4.0d;}class A {public float getNum() {return 3.0f;}}public class B extends A {【代码】}10、下列哪个叙述是正确的?()A. 一个类最多可以实现两个接口B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法D. 允许接口中只有一个抽象方法二、程序填空题。

c++_面向对象程序设计考试试题1

c++_面向对象程序设计考试试题1

考试试题纸(B 卷)《面向对象程序设计》课程计算机院(系)网络工程、计算机科学与技术班级考试时量 100分钟学生人数命题教师系主任交题时间:年月日考试时间:年月日1.一、简答题(每小题5分,共20分)1.什么是类?什么是对象?对象与类的关系是什么?2.构造函数和析构函数的主要作用是什么?他们各有什么特性?3.派生类构造函数和析构函数的执行顺序是怎样的?4.什么是虚函数?虚函数与函数重载有哪些相同点和不同点?2.二、选择题(每小题2分,共20分)1.假设已经有定义char *const pName=”Student”;下面的语句正确的是。

A.pName[3]=’t’; B. pName=”score”;C. pName=new char[5];D. pName=new char(‘p’);2.在下面有关对构造函数的描述中,正确的是。

A. 构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数4.构造函数必须定义,不能缺省3.在下面有关析构函数特征的描述中,错误的是。

A. 一个类中只能定义一个析构函数B. 析构函数名与类名完全相同C. 析构函数不能指定返回类型D. 析构函数不能带有参数4.假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为。

A. 3B. 4C. 6D. 95. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为。

A. AB operator+(AB &a,AB &b)B. AB operator+(AB &a)C. operator+(AB a)D. AB & operator+( )6. 假设定义了函数模版:template<class T>T max(T x, T y){ return (x>y)?x:y; }并定义了:int i;char c;那么下列错误的调用该模版的是。

张海藩《软件工程导论》(第6版)(课后习题 第9章 面向对象方法学引论)【圣才出品】

张海藩《软件工程导论》(第6版)(课后习题 第9章 面向对象方法学引论)【圣才出品】

第9章面向对象方法学引论1.什么是面向对象方法学?它有哪些优点?答:(1)面向对象方法学是尽可能模拟人类习惯的思维方式,使开发软件的方法与过程尽可能接近人类解决问题的方法与过程,使描述问题的问题空间与实现解法的解空间在结构上尽可能一致的方法学科。

(2)面向对象方法学优点:①与人类习惯的思维方法一致。

②面向对象软件稳定性好。

③面向对象软件可重用性好。

④较易开发大型软件产品。

⑤可维护性好。

2.什么是“对象”?它与传统的数据有何异同?答:(1)对象是对问题域中某个实体的抽象。

(2)相对于传统数据结构的静态被处理,对象既有静态的属性,也有动态的行为,是进行处理的主体。

3.什么是“类”?答:类是对具有相同数据结构和相同操作的一组组相似对象的定义,即类是对具有相同属性和行为的一个或多个对象的描述,包括对怎样创建该类的新对象的说明。

4.什么是“继承”?答:继承是指能够直接获得已有的性质和特征,而不必重复定义它们。

在面向对象的软件技术中,继承是子类自动地共享基类中定义的数据和方法的机制。

5.什么是模型?开发软件为何要建模?答:(1)模型是为了理解事物而对事物作出的一种抽象,是对事物的一种无歧义的书面描述。

模型由一组图示符号和组织这些符号的规则组成,利用它们来定义和描述问题域中的术语和概念。

模型是一种思考工具,利用这种工具可以把知识规范地表示出来。

(2)由于建模忽略了事物的非本质属性,因此模型比原始事物更容易操作。

对于那些因过分复杂而不能直接理解的系统,特别需要建立模型,模型通过吧系统的重要部分分解成人的头脑一次能处理的若干个子部分,从而减少了系统的复杂程度。

6.什么是对象模型?建立对象模型时主要使用哪些图形符号?这些符号的含义是什么?答:(1)对象模型表示静态的、结构化的系统的数据性质。

它是对模拟客观世界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。

(2)通常使用UML提供的类图来建立对象模型。

(3)在UML中“类”的实际含义是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象方法题库1-
1-9
问题:
[单选]用例(usecase)用来描述系统对事件做出响应时所采取的行动。

用例之间是具有相关性的。

在一个“订单输入子系筑”中,创建新订单和更新订单都需要核查用户账号是否正确。

用例“创建新订单”、“更新订单”与用例“核查客户账号”之间是()关系。

A.包含(includE.
B.扩展(extenD.
C.分类(classification)
D.聚集(aggregation)
用例是在系统中执行的一系列动作,这些动作将生成特定参与者可见的价值结果。

它确定了一个和系统参与者进行交互,并可由系统执行的动作序列。

用例模型描述的是外部执行者(actor)所理解的系统功能。

用例模型用于需求分析阶段,它的建立是系统开发者和用户反复讨论的结果,表明了开发者和用户对需求规格达成的共识。

两个用例之间的关系主要有两种情况:一种是用于重用的包含关系,用构造型include表示;另一种是用于分离出不同行为的扩展,用构造型extend表示。

①包含关系:当可以从两个或两个以上的原始用例中提取公共行为,或者发现能够使用一个构件来实现某一个用例的部分功能是很重要的事时,应该使用包含关系来表示它们。

②扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种事
情,可以断定将这个用例分为一个主用例和一个或多个辅用例描述可能更加清晰。

问题:
[单选]对于违反里氏替换原则的两个类A和B,可以采用的候选解决方案是()
A.尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程
B.创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B 行为不完全一致的问题
C.将B到A的继承关系改成组合关系
D.区分是Is-a还是Has-a。

如果是Is-a,可以使用继承关系,如果是Has-a,应该改成组合或聚合关系
里氏替换原则是面向对象设计原则之一,由BarbaraLiskov提出,其基本思想是,一个软件实体如果使用的是一个基类对象,那么一定适用于其子类对象,而且觉察不出基类对象和子类对象的区别,即把基类都替换成它的子类,程序的行为没有变化。

反过来则不一定成立,如果一个软件实体使用的是一个子类对象,那么它不一定适用于基类对象。

在运用里氏替换原则时,尽量将一些需要扩展的类或者存在变化的类设计为抽象类或者接口,并将其作为基类,在程序中尽量使用基类对象进行编程。

由于子类继承基类并实现其中的方法,程序运行时,子类对象可以替换基类对象,如果需要对类的行为进行修改,可以扩展基类,增加新的子类,而无须修改调用该基类对象的代码。

问题:
[单选]博学公司欲开发一个在线交易系统。

为了能够精确地表达用户与系统的复杂交互过程,应该采用UML的()进行交互过程建模。

A.类图
B.序列图
C.部署图
D.对象图
显然,为了能够精确地表达用户与系统的复杂交互过程,应该使用交互图。

在UML中,交互图包括顺序图、交互概览图、通信图和定时图。

顺序图也称为序列图,强调消息的时间次序;通信图强调消息流经的数据结构;定时图强调消息跨越不同对象或角色的实际时间;交互概览图是活动图和顺序图的一个综合体。

(世界杯四强 /)
问题:
[单选]下列关于UML的叙述中,正确的是()
A.UML是一种语言,语言的使用者不能对其扩展
B.UML仅是一组图形的集合
C.UML仅适用于系统的分析与设计阶段
D.UML是独立于软件开发过程的
UML是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统的文档。

它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。

UML是独立于软件开发过程的,它适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,UML,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。

UML包括概念的语义、表示法和说明,提供了静态、动态、系统环境及组织结构的模型,它允许用户对其进行扩展。

它可被交互的可视化建模工具所支持,这些工具提供了代码生成器和报表生成器。

UML标准并没有定义一种标准的开发过程,但它适用于迭代式的开发过程。

它是为支持大部分现存的面向对象开发过程而设计的。

UML不是一种可视化的编程语言,但是UML描述的模型可与各种编程语言直接相连,即可把用UML 描述的模型映射成编程语言。

问题:
[单选,共用题干题]面向对象的设计模型包含以(1)表示的软件体系结构图,以(2)表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。

空白(1)处应选择()
A.A.部署图
B.包图
C.协同图
D.交互图
面向对象的设计模型包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理的活动图等。

问题:
[单选,共用题干题]面向对象的设计模型包含以(1)表示的软件体系结构图,以(2)表示的用例实现图,完整精确的类图,针对复杂对象的状态图和用以描述流程化处理的活动图等。

空白(2)处应选择()
A.A.部署图
B.包图
C.协同图
D.交互图
面向对象的设计模型包含以包图表示的软件体系结构图、以交互图表示的用例实现图、完整精确的类图、针对复杂对象的状态图和用以描述流程化处理的活动图等。

问题:
[单选,共用题干题]在面向对象设计中,用于描述目标软件与外部环境之间交互的类被称为(1),它可以(2)。

空白(1)处应选择()
A.A.实体类
B.边界类
C.模型类
D.控制类
面向对象技术中的类分为3种:实体类、边界类、控制类。

实体类是用于对必须存储的信息和相关行为建模的类。

实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如,事件、人员或者一些现实生活中的对象。

实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。

边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。

这种交互包括转换事件,并记录系统表示方式(如接口)中的变更。

常见的边界类有窗口、通信协议、打印机接口、传感器和终端。

如果使用GUI生成器,就不必将按钮之类的常规接口部件作为单独的边界类来建模。

通常,整个窗口就是最精制的边界类对象。

边界类还有助于获取那些可能不面向任何对象的API(如遗留代码)的接口。

控制类用于对一个或几个用例所特有的控制行为进行建模。

控制对象(控制类的实例)通常控制其他对象,因此它们的行为具有协调性质。

控制类将用例的特有行为进行封装。

问题:
[单选,共用题干题]在面向对象设计中,用于描述目标软件与外部环境之间交互的类被称为(1),它可以(2)。

空白(2)处应选择()
A.A.表示目标软件系统中具有持久意义的信息项及其操作
B.协调、控制其他类完成用例规定的功能或行为
C.实现目标软件系统与外部系统或外部设备之间的信息交流和互操作
D.分解任务并把子任务分派给适当的辅助类
面向对象技术中的类分为3种:实体类、边界类、控制类。

实体类是用于对必须存储的信息和相关行为建模的类。

实体对象(实体类的实例)用于保存和更新一些现象的有关信息,例如,事件、人员或者一些现实生活中的对象。

实体类通常都是永久性的,它们所具有的属性和关系是长期需要的,有时甚至在系统的整个生存期都需要。

边界类是一种用于对系统外部环境与其内部运作之间的交互进行建模的类。

这种交互包括转换事件,并记录系统表示方式(如接口)中的变更。

常见的边界类有窗口、通信协议、打印机接口、传感器和终端。

如果使用GUI生成器,就不必将按钮之类的常规接口部件作为单独的边界类来建模。

通常,整个窗口就是最精制的边界类对象。

边界类还有助于获取那些可能不面向任何对象的API(如遗留代码)的接口。

控制类用于对一个或几个用例所特有的控制行为进行建模。

控制对象(控制类的实例)通常控制其他对象,因此它们的行为具有协调性质。

控制类将用例的特有行为进行封装。

相关文档
最新文档