面向对象技术练习

合集下载

《面向对象技术(本)》课程第四阶段练习题答案

《面向对象技术(本)》课程第四阶段练习题答案

《面向对象技术(本)》课程第四阶段练习题答案一、填充题答案:1.private2.static3.import java.util.*;4.后期,前期5.Math.cos(30*3.14/180)二、选择题答案:1.B 2.A 3.C 4.D 5.C三、简答题答案:1.在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的事物的抽象。

在类中包含了变量和与变量有关的操作(方法)。

对象是类的实例。

类和对象的关系就如同属性类型和变量的关系。

例如,“电话”类代表电话这一类事物,而电话的对象代表一个具体的电话。

2.当外部的类可以没有限制地直接访问、修改类中变量时,是非常危险的。

因此必须限制类的外部程序对类内部成员的访问,这就是类的封装目的。

类把属性和方法封装起来,同时创建一些允许外部访问的方法,通过这样的方法来访问类的成员变量。

封装的另一目的是细节屏蔽,便于程序功能的扩展和程序的维护。

3.Java中有四种访问权限:公有的(public)、保护的(protected)、默认的、私有的(private)。

各种权限的访问级别如下表:4.null表示空对象,即没有创建类的任何实例。

当我们声明对象时,如果没有用new 实例化时,此时它就被初始化为一个特殊的值“null”。

而当我们在类的方法定义中需要引用正在使用该方法的对象时,可以用“this”表示。

uper表示对某个类的超类的引用,用super来引用被子类屏蔽的超类的成员。

5.不能被继承的类称为最终类。

在声明类时,用final将类声明为最终类,这样此方法不会在子类中被覆盖(即子类中不能有和此方法同名的方法)。

抽象类则是必须被子类覆盖的类。

在声明类或方法时,用关键字abstract可以将类或方法声明为抽象类或方法。

抽象方法没有方法体,含有抽象方法的类即为抽象类,它是不能实例化的类。

6.多态性是面向对象程序设计的重要特征,是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。

软件设计师-面向对象技术(二)_真题-无答案

软件设计师-面向对象技术(二)_真题-无答案

软件设计师-面向对象技术(二)(总分29,考试时间90分钟)1. 面向对象程序设计语言中提供的继承机制可将类组织成一个______结构,以支持可重用性和可扩充性。

A. 栈B. 星形C. 层次D. 总线2. 在C++语言中,若类C中定义了一个方法intf(int a,int b),那么方法不能与该方法同时存在于类C中。

A. int f(int x,int y)B. int f(float a,int b)C. float f(int x,float y)D. int f(int x,float y)3. 下面关于面向对象的描述正确的是______。

A. 针对接口编程,而不是针对实现编程B. 针对实现编程,而不是针对接口编程C. 接口与实现不可分割D. 优先使用继承而非组合4. 面向对象技术中,对象是类的实例。

对象有三种成分:______、属性和方法(或操作)。

A. 标识B. 规则C. 封装D. 消息5. 已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例构成。

能够正确表示类A、B和C之间关系的UML类图是_____。

6. 面向对象的测试可分四个层次,按照由低到高的顺序,这四个层次是______。

A. 类层——模板层——系统层——算法层B. 算法层——类层——模板层——系统层C. 算法层——模板层——类层——系统层D. 类层——系统层——模板层——算法层7. 在UML中,______用于描述系统与外部系统及用户之间的交互。

A. 类图B. 用例图C. 交互图D. 协作图8. 以下关于单身模式(Singleton)的描述中,正确的是______。

A. 它描述了只有一个方法的类的集合B. 它能够保证一个类只产生唯一的一个实例C. 它描述了只有一个属性的类的集合D. 它能够保证一个类的方法只能被唯一一个类调用9. 类的实例化过程是一种合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。

C++面向对象技术复习题汇总(含答案)

C++面向对象技术复习题汇总(含答案)

面向对象程序设计C++复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C++源程序文件名的缺省的扩展名为()A、bccB、c++C、cppD、vcc2、面向对象的程序设计将数据与( )放在一起,作为一个相互依存、不可分割的整体来处理.A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、intD、无4、对于C++的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是( )A、int *p=new int(10);B、int *p=new int[10]C、int *p=new int;D、int *p=new int[40](0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:()A、name[3]=’a’;B、name=”lin”;C、name=new char[5]; D、cout<〈name[3];7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:( )A、name[3]=’q';B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);8、假设已经定义:const char *name=”chen”;,下面的语句中错误的是:( )A、name[3]=’q’;B、name=”lin”;C、name=new char[5];D、name=new char(‘q’);9、下面的类型声明中正确的是:( )A、int &a[4];B、int &*p;C、int &&qD、int i,*p=&i;10、假设定义了函数模板( )template 〈class T>T max(T x,T y){ return(x>y)?x:y;}并定义了int i;char c;错误的调用语句是:()A、max(i,i)B、max(c,c)C、max((int)c,i);D、max(i,c)11、模板的使用是为了( )A、提高代码的可重用性B、提高代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int x[‘a’];cin>>x;则编译器认为()A、说明语句int x[‘a’]错B、二个语句都错C、语句cin〉〉x 错D、二个语句正确,没有语法错13、设有语句:void f(int a[10],int &x);int y[10],*py=y,n;则对函数f的正确调用语句是( )A、f(py[10],n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C++中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y){……}(2) int f(int a,float b){…… }(3) int f(int i,int j){……}(4) float k(int x){…… }是重载函数。

C++面向对象编程技术试卷A

C++面向对象编程技术试卷A
void SetPosition(int x1, int y1) {x = x1; y = y1}
private:
intx;
int y ;
}
voidf()
{
Point *ptr = new Point(4,5);
__________________
}
A Point(5,6) B ptr->Point(5,6) C ptr->SetPosition(5,6) D ABC都可以。
………………………………密………………………………封…………………………………线………………………………
14.对于下面定义的类Point,在函数f()中将对象成员x,y的值修改为5,6的语句应该是c:
Point(int x1=0, int y1=0) {x = x1; y = y1}
9.不能实现函数之间数据传递的是_________。
A全局变量B局部变量C静态变量D函数返回值
10.假定Cat为一个类,则该类的拷贝初始化构造函数的声明语句为_________。
A Cat &(Cat x); B Cat (Cat &x) C Cat (Cat x); D Cat (Cat *x)
11.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为_________。
C. float (*fp)[25][9]=new float[10][25][9]; D. float *fp=new float[25][9];
………………………………装………………………………订…………………………………线………………………………
课程________________________班级________________________姓名__________________________学号________________________

华东理工-面向对象技术(本) -2017年秋季网上作业1

华东理工-面向对象技术(本) -2017年秋季网上作业1
static double arr[] = new double[10];
public static void main(String a[])
{System.out.println(arr[0]);}
}
A、编译将产生错误
B、编译时正确,但运行时将产生错误
C、正确,输出0.0
D、正确,输出null
标准答案:C
C、protected private movie
D、public abstract class Movie {···}
标准答案:D
学员答案:D
本题得分:5
题号:11题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
容:
有程序如下,关于程序的描述哪个是正确的?()
public class Person{
C、public float max(float a, float b){ }
D、
E、private int max(int a, int b, int c){ }
标准答案:B
学员答案:B
本题得分:5
题号:7题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
容:
点选单选钮或复选钮引发的事件是。
学员答案:C
本题得分:5
题号:12题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
容:
关于接口,下面( )说法是错的。
A、接口中只有常量和抽象方法
B、一个接口可以被一个或多个类实现
C、类实现了接口,就必须实现接口中的部分方法
D、实现接口的关键字是implements
标准答案:C
学员答案:C
A、World
B、World!

面向对象技术Java-期末复习试卷(三)

面向对象技术Java-期末复习试卷(三)

期末复习试卷〔三〕一、单项选择题1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源文件名是〔〕A. teststudent.javaB. teststudent .classC. TestStudent.java正确答案:C解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类〔public〕,该java文件的名字要与公共类的一致。

2、关于下面的代码,哪个描述是正确的?public class Test{public static void main(String[] args){Integer n1 = new Integer(3);Object n2 = new Integer(4);System.out.println(n1 pareTo(n2));}}A. 可以编译通过,可以运行,并得到预期结果。

B. 可以编译通过,可以运行,但不能得到预期结果。

C. 可以编译通过,但又运行错误。

D. 有编译错误。

正确答案:D解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,提供了一些实用的方法〔例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法〕并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如以下图:因此,Integer类中compareTo()方法的定义如下:因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer:System.out.println(n1 pareTo(n2));正确写法如下:System.out.println(n1 pareTo((Integer) n2));类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。

面向对象技术Java期末复习试卷

面向对象技术Java期末复习试卷

期末复习试卷(五)一、程序题1.请根据UML图, 代码实现Person类、Student类和Volunteer接口旳定义。

解题规定: 编写测试程序, 创立一种名为”Tom”旳一年级学生, 这名学生参与了“北京青年志愿者协会”旳活动。

输出该学生旳姓名、年级及所属社团旳信息。

效果如下:interface Volunteer{public abstract String volunteer(String organization);}class Person{private String name;(1)2.根据给定旳GeometricObject类层次图, 分别实现GeometricObject、Circle和Triangle类。

规定:(2)按照类图, 定义各类旳数据域属性和措施。

(3)默认旳GeometricObject旳颜色为white。

默认旳Circle对象旳半径为10。

默认旳Triangle对象旳三边为(3, 4, 5)。

(4)GeometricObject类旳toString()措施, 返回对象旳颜色信息。

Circle和Triangle旳toString()措施, 覆盖父类旳toString(), 分别返回包括颜色信息、半径或边长旳信息。

(5)GeometricObject类实现parable接口, 覆盖public int compareTo()措施, 实现两个几何对象在周长上旳比较。

(6)Circle和Triangle类分别覆盖实现getPerimeter()。

编写一种顾客程序:(1)创立一种几何对象数组object;(2)分别寄存一种默认旳圆、一种半径为20旳圆、一种默认旳三角形和一种三边为(10, 20, 15)旳三角形;(3)计算这一组几何对象旳总周长并输出;(4)使用toString(),输出每个几何对象旳有关信息;(5)使用java.util.Arrays.sort()措施, 对几何对象数组中旳几何图形, 按周长进行排序, 并输出排序成果。

面向对象技术试卷2

面向对象技术试卷2

《面向对象技术》试卷2一、选择题(每题2分,共20分,答案填写在题后的表格内)1.下列语句中错误的是()A. int *p=new int(10) ;B. int *p=new int[10] ;C. int *p=new int ;D. int *p=new int[40](0)2.假设已经有定义char *const name=”chen” ;下面的语句中正确的是()A. name[3]=‟q‟;B. name=”lin”;C. name=new char[5]D. name=new char(…q‟);3.下面的类型声明中正确的是()A. int &a[4]B. int &*p ;C. int &&q ;D. int I,*p=& I ;4.在声明类时,下面的说法正确的是()A.可以在类的声明中给数据成员赋值B. 数据成员的数据类型可以是registerC. private、public、protected可以按任意顺序出现D. 没有用private、public、protected定义的数据成员是公有成员5.构造函数是在()时被执行的。

A.程序编译B. 创建对象C. 创建类D.程序装入内存6.在下面有关友元函数的描述中,正确的说法是()A. 友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的有友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend7.使用派生类的主要作用是()A.提高代码的可重用性B.提高程序的运行效率C.加强类的封装性D.实现数据的隐藏8.关于虚函数,正确的描述是()A.构造函数不能是虚函数B.析构函数不能是虚函数C.虚函数可以是友元函数D.虚函数可以是静态成员函数9.如果在基类中将成员函数show声明为不带返回值得纯虚函数,正确的写法是()A.virtual show( )=0;B.virtual void show( )C.virtual void show( )=0;D.void show( )=0 virtual;10.使用myFile.open(“sales.dat”,ios::app)语句打开文件sales.dat后,则()二、分析下列程序中的错误,并说明原因(前2题每题6分,第三题8分,共20分)1.#include"iostream.h"class student{char name[10];int age;float aver;void printStu( ){}};void main( ){student p1,p2,p3;p1.age=16;//…} 2. #include"iostream.h" class stack{public:stack(int sz); private:char *p;int size;};stack::stack(int sz) {p=new char[size=sz]; }void main(){stack stt;//...}3.#include"iostream.h"class CTest{public:const int y2;CTest(int i1,int i2):y1(i1),y2(i2) {y1=10; int readme()const;//...private:int x;const int y1;};int CTest::readme()const {x++;return x; }void main() {CTest c(2,8);int i=c.y2;i=c.y1;}2题每题6分,第三题8分,共20分)1.#include"iostream.h"class toy{public:toy(int q,int p){ quan=q; price=p;}int get_quan(){return quan;}int get_price(){return price;}private:int quan,price;};int main(){toy op[2][2]={toy(10,20),toy(30,48),toy(50,68),toy(70,80)};int i;for(i=0;i<2;i++){cout<<op[i][0].get_quan()<<",";cout<<op[i][0].get_price()<<"\n";cout<<op[i][1].get_quan()<<",";cout<<op[i][1].get_price()<<"\n";}cout<<"\n";return 0;}2.#include"iostream.h"class Stock{public:void print(){cout<<"Stock class.\n";}};class Der1_Stock:public Stock{public:void print(){cout<<"Deri1_Stock class.\n";}};class Der2_Stock:public Stock{public:void print(){cout<<"Deri2_Stock class.\n";}第一题运行结果:第二题运行结果:Stock s1;Der1_Stock d1; Der2_Stock d2; ptr=&s1;ptr->print(); ptr=&d1;ptr->print(); ptr=&d2;ptr->print(); }3.#include"iostream.h" class A {public:A(int i):xi(i){} A(){xi=0;}friend A operator++(A a); friend A operator--(A &a); void print(); private: int xi; };A operator++(A a) {++a.xi; return a; }A operator--(A &a) {--a.xi; return a; }void A::print() { cout<<xi<<endl;} void main() {A i(7); ++i;i.print(); --i;i.print(); }四、设计题(每题10分,共40)1.下面是一个计算器类的定义,根据注释语句的提示,完成该类成员函数的实现class counter {public:counter(int number); //构造函数,初始化计数器 void increment(); //给计数器加1 void decrement(); //给计数器减1 int getvalue(); //取得计数器的值 int print(); //显示计数 private:int value; //计数器 第三题运行结果:程序:2.下面的程序包含了Time类和Date类的声明,要求设计一个Birthtime类,它继承了Time类和Date类,并且还有一项出生孩子的名字Childname,同时设计主程序显示一个小孩的出生时间和名字。

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. 允许接口中只有一个抽象方法二、程序填空题。

华东理工-面向对象技术(本) -2017年秋季网上作业1

华东理工-面向对象技术(本) -2017年秋季网上作业1
A、getFrame()
B、getID()
C、getSource()
D、getItem()
标准答案:C
容:
在编写Java Applet程序时,需要在程序的开头写上( )语句
A、import java.awt.*
B、import java.applet.*
C、import java.io.*
D、import java.awt.event.*
标准答案:B
学员答案:B
本题得分:5
题号:6题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
题号:1题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
容:
在创建一个字体类对象的过程中,如果希望字体的式样为粗体,应选用下面的( )参数。
A、Font.PLAIN
B、Font.BOLD
C、Font.ITALIC
D、Font.BOLD和Font.ITALIC
标准答案:B
学员答案:B
本题得分:5
学员答案:C
本题得分:5
题号:12题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5
容:
关于接口,下面( )说法是错的。
A、接口中只有常量和抽象方法
B、一个接口可以被一个或多个类实现
C、类实现了接口,就必须实现接口中的部分方法
D、实现接口的关键字是implements
标准答案:C
学员答案:C
C、protected private movie
D、public abstract class Movie {···}
标准答案:D
学员答案:D
本题得分:5
题号:11题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5

面向对象技术(答案)

面向对象技术(答案)

●下面关于面向对象方法中消息的叙述,不正确的是____(2)__。

(2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D.发送与接收消息的通信机制与传统的子程序调用机制不同正确答案:B【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为"面向对象的方法"。

●面向对象技术中,对象是类的实例。

对象有三种成份:____(3)____、属性和方法(或操作)。

(3) A. 标识B. 规则C. 封装D. 消息正确答案:A解析:对象有三种成份:标识(对象名)、属性和方法(或操作)。

●在面向对象技术中,类属是一种__(1)__机制。

一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与__(2)__的那些部分,而用变元来表示与__(3)__的那些部分。

(1)A.包含多态B.参数多态C.过载多态D.强制多态(2)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关(3)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。

不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。

多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。

参数多态应用比较广泛,被称为最纯的多态。

这是因为同一对象、函数或过程能以一致的形式用于不同的类型。

包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。

过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。

即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。

强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。

「超市管理系统设计面向对象技术大作业」

「超市管理系统设计面向对象技术大作业」

「超市管理系统设计面向对象技术大作业」超市管理系统是一种用于管理超市日常运营的软件系统,旨在提升超市的管理效率和顾客的购物体验。

面向对象技术是一种软件开发的方法论,适用于设计和实现复杂的系统。

本文将从面向对象技术的角度出发,对超市管理系统进行设计。

超市管理系统的主要功能包括商品管理、库存管理、销售管理、顾客管理等。

首先,我们需要定义超市中的概念和对象。

超市可以被视为一个总体,在超市中包含有商品、库存、销售记录、顾客等对象。

商品是超市的核心资源,它们具有属性和方法。

属性可以包括商品名称、价格、库存量、供应商等信息。

方法可以包括查询商品信息、更新库存量等操作。

在面向对象的设计中,我们可以将商品定义为一个类,具有相应的属性和方法。

库存是管理商品数量的关键。

它可以被视为一个集合,其中包含多个商品对象。

库存管理的主要功能包括添加商品、删除商品、更新商品数量等操作。

在面向对象的设计中,我们可以定义库存为一个类,它包含一个商品对象的集合,并提供相应的方法来管理库存。

销售记录用于记录超市的销售情况。

它包含了销售的时间、销售的商品、销售数量、销售金额等信息。

在面向对象的设计中,我们可以定义销售记录为一个类,它具有相应的属性和方法,比如查询销售记录、生成销售报表等。

顾客是超市的重要组成部分,超市管理系统需要能够管理顾客的信息和行为。

顾客可以被定义为一个类,它具有属性和方法。

属性可以包括顾客的姓名、年龄、性别、会员等级等信息。

方法可以包括查询顾客信息、添加顾客、更新会员等级等操作。

超市管理系统还可以包括其他功能,比如会员管理、员工管理、报表生成等。

这些功能可以被定义为相应的类,并实现相应的属性和方法。

同时,这些类之间也存在关系,比如商品与销售记录之间存在关联关系,因为销售记录需要记录销售的商品信息。

在面向对象的设计中,我们需要考虑类的继承、封装和多态等特性。

继承可以用来定义类的层次结构,实现代码的复用和继承的特性。

封装可以用来保护类的内部状态和实现类之间的通信。

系统分析师-面向对象技术_真题-无答案

系统分析师-面向对象技术_真题-无答案

系统分析师-面向对象技术(总分61,考试时间90分钟)1. 在某信息管理系统中存在两个类:类“客户”和类“订单”。

它们之间的业务关系是:①一个客户提交零个或多个订单;②一个订单由一个且仅由一个客户提交。

能够正确表示这个业务关系的UML类图是______。

UML提供了4种结构图用于对系统的静态方面进行可视化、详述、构造和文档化。

其中 (17) 是面向对象系统建模中最常用的图,用于说明系统的静态设计视图;当需要说明系统的静态实现视图时,应该选择 (18) ;当需要说明体系结构的静态实施视图时,应该选择 (19) 。

2.A. 构件图B. 类图C. 对象图D. 部署图3.A. 构件图B. 协作图C. 状态图D。

部署图4.A. 协作图B. 对象图C. 活动图D. 部署图5. 以下与“模式”相关的叙述中,正确的是______。

A. 采用设计模式允许在非面向对象程序设计语言中使用面向对象的概念B. 单身模式(Singleton)描述了只有一个方法和属性的类的集合C. 在MVC(模型/视图/控制器)模式中,1个模型可以用于多个视图D. 在MVC模式中,控制器是将应用问题域中包含的抽象领域知识呈现给用户的方式6. 面向对象程序设计语言的______机制,实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。

A. 模板B. 多态C. 动态绑定D. 多重绑定在一个客户信息系统中存在两种类型的客户:个人客户和集团客户。

对于个人客户,系统中保存了其客户标识和基本信息(包括姓名、住宅电话和emil);对于集团客户,系统中保存了其客户标识,以及与该集团客户相关的若干个联系人的信息(联系人的信息包括姓名、住宅电话、email、办公电话和职位)。

根据上述描述,得到了如图1-5所示的UML类图,其中类“客户”的属性有 (33) :类“人”的属性有 (34) 。

7.A. 客户标识B. 姓名、住宅电话、emailC. 姓名、住宅电户、办公电话、email、职位D. 客户标识、办公电话、职位8.A. 客户标识B. 姓名、住宅电话、emailC. 姓名、住宅电户、办公电话、email、职位D. 客户标识、办公电话、职位9. 在以下关于类的相关描述中,不正确的是______。

面向对象建模技术模拟试卷A(带标注)

面向对象建模技术模拟试卷A(带标注)

2010-2011学年第1学期面向对象建模技术模拟试题(A卷)考试时间:2010年12月30日班级学号姓名✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。

一、选择题,每题1分,共计20分。

每个括号里的数字为该空的题号,从该题号对应的备选答案中选择最佳的一项,每空限填一个选项。

请按如下表格在答题纸上答此题。

在UML语言中,下图中的a、b、c三种图形符号按照顺序分别表示(1)。

a b c1.供选择的答案:A. 边界对象、实体对象、控制对象B. 实体对象、边界对象、控制对象C. 控制对象、实体对象、边界对象D. 边界对象、控制对象、实体对象(2)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。

2.供选择的答案:A. Adapter(适配器)B. Iterator(迭代器)C. Prototype(原型)D. Observer(观察者)Round-Trip Engineering能够帮助维持软件架构的完整性。

但(3) 不是Round-trip Engineering 的好处之一。

3.供选择的答案:A. 发现和评估软件架构上的改动B. 为相同的接口提供不同的实现C. 在每次迭代中保持模型和代码的同步D. 传达被接受的架构改动下面4种符号在Rose中表示的模型元素分别为(4)4.供选择的答案:A. 接口(Interface) 类操作(Operation) 时序图(Sequence Diagram) 类属性(Attribute)B. 类操作(Operation) 接口(Interface) 类属性(Attribute) 时序图(Sequence Diagram)C. 接口(Interface) 类属性(Attribute) 类操作(Operation) 时序图(Sequence Diagram)D. 时序图(Sequence Diagram) 类属性(Attribute) 接口(Interface) 类操作(Operation)在建立系统的用例模型时,首先应该确定系统的参与者。

软件设计师-面向对象技术(四)_真题-无答案

软件设计师-面向对象技术(四)_真题-无答案

软件设计师-面向对象技术(四)(总分152,考试时间90分钟)一、综合知识试题在UML类图中,类与类之间存在依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)和继承(Inheritance)五种关系,其中, (14) 关系表明类之间的相互联系最弱, (15) 关系表明类之间的相互联系最强,聚合(Aggregation)的标准UML图形表示是 (16) 。

1. A.依赖B.聚合C.组合D.继承2. A.依赖B.聚合C.组合D.继承(3) 是指把数据以及操作数据的相关方法组合在同一个单元中,使我们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度。

面向对象中的 (4) 机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。

3. A.封装B.多态C.继承D.变异4. A.封装B.多态C.继承D.变异5. ______是指在运行时把过程调用和响应调用所需要执行的代码加以结合。

A.绑定 B.静态绑定 C.动态绑定 D.继承下列UML类图表示的是 (53) 设计模式。

该设计模式中 (54) 。

6. A.备忘录(Memento) B.策略(Strategy)C.状态(State) D.观察者(Observer)7.A.一个Subj ect对象可对应多个Observer对象B.Subject只能有一个ConcreteSubject子类C.Observer只能有一个ConcreteObserver予类D.一个Subject对象必须至少对应一个Observer对象开一闭原则(Open-Closed Principle,OCP)是面向对象的可复用设计的基石。

开一闭原则是指一个软件实体应当对 (23) 开放,对 (24) 关闭;里氏代换原则(Liskov Substitution Principle,LSP)是指任何 (25) 可以出现的地方, (26) 一定可以出现。

面向对象技术C++(二)——北京外国语大学

面向对象技术C++(二)——北京外国语大学

面向对象技术C++(二)一、新单选题(每题2分,共50分。

)1. 重载函数在调用时选择的依据中,(D)是错误的。

A、参数个数B、参数类型C、函数名字D、函数的类型2. 下面选项中不属于面向对象程序设计特征的是(C )。

A、继承性B、多态性C、类比性D、封装性3. 以下一种类中,( A)不能建立对象。

A、抽象类B、派生类C、虚基类D、基类4. 若一个类的成员函数前用static关键字修饰,则该成员函数(B)。

A、可以被声明为constB、没有this指针C、可以访问该类的所有成员D、只能用对象名来调用5. 用来说明类中保护成员的关键字是(C)。

A、publicB、privateC、protectedD、friend6. 下列关于构造函数的描述中,错误的是(B)。

A、构造函数可以设置默认参数;B、构造函数在声明对象时自动执行;C、构造函数可以对静态数据成员进行初始化;D、构造函数可以重载;7. (B )不是属于面向对象程序设计的特性。

A、抽象性B、数据相关性C、多态性D、继承性8. 下列对派生类的描述中,(C ) 是错误的。

A、一个派生类可以作为另一个派生类的基类B、派生类至少应有一个基类C、基类中成员的访问权限被派生类继承后都不改变D、派生类的成员除了自己定义的成员外,还包含了它的基类成员9. main()函数可以访问派生类的对象中它的哪一类基类成员?(A )A、公有继承的基类的公有成员B、公有继承的基类的保护成员C、公有继承的基类的私有成员D、保护继承的基类的公有成员10. 若要将类AClass定义为BClass的友元类,则应该在(B)类中定义。

A、AclassB、BClassC、二个类中都应定义D、在两个类之外定义11. 类的析构函数是在 (C ) 调用的。

A、类创建时B、创建对象时C、删除对象时D、不自动调用12. 假定一个类的构造函数为 F(int aa,int bb) {a=aa++; b=a*bb++;} ,则执行FX(5,5);语句后,X.a和X.b的值分别为(C)。

面向对象技术高级教程习题课

面向对象技术高级教程习题课
用况描述示例:供货员供货
打开货柜
在商品更换表中登记更换的商品名称和数量并 更换商品
在商品补充表中登记补充的商品名称和数量并 补充商品
关闭货柜
2021/3/27
14
第二次作业 类图
2021/3/27
15
第1题:论述类与对象之间的关系以及关联与链之间的关系。 这四者之间还有什么关系吗?
参考答案
8
第2题:论述用况图在面向对象方法中的地位
参考答案
用况图用于在需求分析阶段建立需求模型 用况图对系统的功能及与系统进行交互的外部
事物建模。使得用户能够理解未来的系统,开 发者也能够正确地理解需求并实现系统。 用况图有助于系统开发参与者在需求的理解上 达到一致。 用况图是进行OOA的第一步工作,对OOD阶段 的人机交互设计和系统测试也非常重要。
2021/3/27
9
第2题:论述用况图在面向对象方法中的地位
作业情况
论述不清晰 用况图的作用不明确 用况图的地位不清楚,以“重要”来敷衍 没有找到关键点
2021/3/27
10
第3题: 通常情况下,自动售货机会按用户的要求进行自动 售货,供货员会巡查并向自动售货机供货,取款员会定时取 款。请针对上述要求建立用况图,并描述各个用况。
面向对象技术高级教程 习题课
何慧虹 2010-6-17
2021/3/27
1
作业提交情况
第一次
00648246、00648168
第二次
00748198、 00648168 、 00748285、00746143、
第三次
00748285、00648168、00748198、PN092040、 00746143
对象是系统中用来描述客观事物的一个实体, 它是构成系统的一个基本单位,由一组属性和施 加于这组属性的一组操作构成。

面向对象技术样题(附答案)

面向对象技术样题(附答案)

一、选择题(20分,共10题,每题2分)1. 关于方法论与方法的关系的描述错误的是(B )A.方法论是一种观点,是一个有理论意义的架构。

B.方法包括理论与模型两个重要的方面。

C.面向对象的方法论的重要观点是:封装、数据隐藏、多态、关系等。

D.不同的方法可以属于同一种方法论。

2.关于信息隐藏的描述错误的是(C)A.信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。

B.信息隐藏既可以隐藏属性,也可以隐藏操作。

C.一个对象信息隐藏的内容对任何对象都是一样的,并不随与之交互的对象的不同而改变。

D.信息隐藏的原则是公开不变的操作,隐藏易变的操作。

3.关于多态的描述正确的是(D)A.多态是指在聚合关系中的各个类中名字相同的属性和操作具有不同的意义。

B.多态的实现机制是编译时静态链接。

C.函数名重载(overload) 会导致多态现象出现。

D.多态可实现接口复用,节省大量的编码工作量.4.关于重载(overload)与覆盖(override)的说法正确的是(D)。

A.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的函数名,那么称子类对父类的f(x)进行了覆盖。

B.如果子类中的成员函数f(x)具有父类中成员函数f(x)相同的基调,那么称子类对父类的f(x)进行了重载。

C.重载导致多态,覆盖与多态无关。

D.覆盖由动态链接实现,重载由静态链接实现。

5.关于用况图与类图的描述正确的是(D)。

A.参与者是用况图中的元素,类是类图中的元素,二者没有关系。

B.用况图中用况应全部识别为类图中的同名类。

C.用况图中参与者应全部识别为类图中的同名类。

D.用况图中参与者有可能识别为类图中的主动类6.关于状态图的陈述正确的是(C)A.一个对象自身的属性值变化不能作为其状态图中的事件。

B.历史状态是指一个对象以前曾经所处的状态集合。

C.动作是在状态内或在转化时所做的操作,是原子的和即时的。

国开作业面向对象程序设计技术-兵团开放大学《面向对象程序设计(本)》考试卷09参考(含答案)

国开作业面向对象程序设计技术-兵团开放大学《面向对象程序设计(本)》考试卷09参考(含答案)

题目:1、汇编语言:答案:用助计符来表示的面向机器的程序设计语言。

用汇编语言编制的程序须要用“人工汇编”或“机器汇编”将其翻译成机器语言,才能被机器认识。

题目:2、对象:答案:构成世界的一个独立单位,它具有自己的静态特征和动态特征。

面向对象方法中的对象是系统用来描述客观事物的一个实体,它是系统构成的一个基本单位。

对象由一组属性和一组行为构成。

题目:3、表达式:答案:1233题目:4、构造方法:答案:名字与他所在类的名字相同,并且不返回任何数据类型。

题目:5、异常:答案:异常的捕获与处理模块;声明和抛出异常的使用;自定义异常类型的使用题目:1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

选项A:A. java选项B:B. .class选项C:C. html选项D:D. .exe答案:B. .class题目:2、在以下供选择的概念中,不属于面向对象语言概念的是 ( )。

选项A:A.消息选项B:B.模块选项C:C.继承选项D:D.多态性答案:B.模块题目:3、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( )。

选项A:A. static void public void final void abstract void staticvoid )。

选项A:A. continue语句必须出现在多路按值选择结构或循环结构中选项B:B. return语句可以出现在方法体的外面选项C:C. 编译系统会把单独的分号看成是空语句选项D:D. break语句的作用是提早结束当前轮次循环答案:C. 编译系统会把单独的分号看成是空语句题目:5、paint()方法使用哪种类型的参数?()选项A:A.Graphics选项B:B.Graphics2D选项C:C.String选项D:D.Color答案:A.Graphics题目:6、以下哪项可能包含菜单条()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
♦ 1.3.3 课后练习
2. 如果一个类或对象是一个服务器,什么可以成为客户? 4. 客户通过什么方式请求类或对象提供服务?
♦ 1.5.3 课后练习
10. 为什么说如果一个组件没有暴露任何接口就是一个对用户无用的 组件?
11. 如果组件设计良好,使用者需要知道这ቤተ መጻሕፍቲ ባይዱ组件是使用什么语言编 写的吗?
♦ 面向对象编程 ♦ 从C到C++ ♦类 ♦ 继承 ♦ 多态 ♦ 操作符重载 ♦ 模板与标准模板库
练习
判断题 ♦ 在高级程序设计语言中,一般用类来实现对象,类是具有相同属性和
行为的一组对象的集合,它是创建对象的模板。 ♦ 面向对象程序设计中的消息应该包含“如何做”的信息。 ♦ 一个消息只能产生特定的响应效果。 ♦ 类的设计和类的继承机制实现了软件模块的可重用性。 ♦ 学习C++语言是学习面向对象的程序设计方法的唯一途径。
C. 参数的个数不同
D. 参数的个数、类型、顺序都相同,但函数的返回值类型不同
ACCD
♦ 下列有关设置函数参数默认值的描述中,( )是正确的。 A. 对设置函数参数默认值的顺序没有任何规定 B. 函数具有一个参数时不能设置默认值 C. 默认参数要设置在函数的原型中,而不能设置在函数的定义语句中 D. 设置默认参数可使用表达式,但表达式中不可用局部变量
♦ 书p3: 5、6、10、11
♦ p5:4、5、6、7、8、9、10
♦ p8:2、3
♦ P11:6
♦ P13:1
TFFTF
♦ 1.1.4 课后练习
5. 通过自顶向下设计法进行函数分解时,可能会出现的串联改变现 象指的是什么?
10. 如果在面向对象语言中为类Human设计“年龄”和“性别”属 性,它们的表现形式是什么?
A. &xx
B. *xx
C. 3.14
D. xx
♦ 下面对引用的描述中( )是错误的。
A. 引用是某个变量或对象的别名 B. 建立引用时,要对它初始化
C. 对引用初始化可以使用任意类型的变量
D. 引用与其代表的对象具有相同的地址
♦ 对重载的函数来说,下面叙述不正确的是( )。
A. 参数的类型不同 B. 参数的顺序不同
x=10,y=10;x=100,y=100。
下面程序的输出结果为 #include<iostream> using namespace std; int main() { int num=50; int& ref=num;
ref=ref+10; cout<<"num="<<num<<endl; num=num+40; cout<<"ref="<<ref<<endl; return 0; }
面向对象技术 练习
ffh
♦ 面向对象编程 ♦ 从C到C++ ♦类 ♦ 继承 ♦ 多态 ♦ 操作符重载 ♦ 模板与标准模板库
面向对象编程练习
♦ 面向对象程序设计着重于( )的设计。
A. 对象 B. 类
C. 算法 D. 数据
♦ 面向对象程序设计中,把对象的属性和行为组织在同一个模块内的机制 叫做( )。
D. 同一消息为不同的对象接受时,产生的行为是一样的,这称为一致性
♦ 下面说法正确的是(多选)。
A. 对象是计算机内存中的一块区域,它可以存放代码和数据
B. 对象实际是功能相对独立的一段程序
C. 各个对象间的数据可以共享是对象的一大优点
D. 在面向对象的程序中,对象之间只能通过消息相互通信
A BC AD
A. 算法 B. 信息 C. 数据隐藏 D. 数据抽象
BCDCA
练习
♦ 下面( )不是面向对象系统所包含的要素。
A. 重载 B. 对象 C. 类
D. 继承
♦ 下面说法正确的是( 多选 )。
A. 将数据结构和算法置于同一个函数内,即为数据封装
B. 一个类通过继承可以获得另一个类的特性
C. 面向对象要求程序员集中于事物的本质特征,用抽象的观点看待程序
♦ 下面说法正确的是( 多选 )。 A. 所有的函数都可以说明为内联函数 B. 具有循环语句、switch语句的函数不能说明为内联函数 C. 使用内联函数,可加快程序执行的速度,但会增加程序代码的大小 D. 使用内联函数,可以减小程序代码大小,但使程序执行的速度减慢
♦ 一个函数功能不太复杂,但要求被频繁调用,应选用( )。 A. 内联函数 B. 重载函数 C. 递归函数 D. 嵌套函数
D BC A
下面程序的输出结果为: #include<iostream> using namespace std; int main() { int x=10,&y=x;
cout<<"x="<<x<<",y="<<y<<endl; int *p=&y; *p=100; cout<<"x="<<x<<",y="<<y<<endl; return 0; }
num=60ref=100
♦ 2.1.1 课后练习
3.解释错误:
namespace foo {
void showdate(int,int);
//...
}
namespace bar {
void showdate(int);
//...
}
using foo::showdate;
showdate(23);
♦ 2.4.7 课后练习
5. 以下代码段有什么错误? (i范围)
♦ 2.5.11 课后练习
练习4到练习35为代码正误判断,如果代码有错,说明问题所在;如 果正确,写出其输出,假设用4 294 967 295代表无穷大。
5. string s1=“C++ is great fun”; char s2[30]; s2=s1; cout<<s2<<endl;

♦ 在整型指针变量p2、p3的定义中,错误的是( )。
A. int p1,*p2,p3;
B. int *p2,p1,*p3;
C. int p1,*p2=&p1,*p3;
D. int *p2,p1,*p3=&p1;
♦ 若有定义“double xx=3.14,*pp=&xx; ”,则*pp等价于( )。
A. 抽象
B. 继承
C. 封装 D. 多态
♦ 在面向对象程序设计中,类通过( )与外界发生关系。
A. 对象 B. 类 C. 消息 D. 接口
♦ 面向对象程序设计中,对象与对象之间的通信机制是()。
A. 对象 B. 类 C. 消息 D. 接口
♦ 面向对象的程序设计将数据结构与( )放在一起,作为一个相互依存 、不可分割的整体来处理。
相关文档
最新文档