当前位置:文档之家› 面向对象软件开发技术试题1

面向对象软件开发技术试题1

面向对象软件开发技术试题1
面向对象软件开发技术试题1

面向对象软件编程技术试题

(工程硕士)

年级:姓名:成绩:

一、选择填空题(答案写在每题后面的括号内)(每题5分,共50分)

1.在面向对象方法中,对象可看成是属性(数据)以及这些属性上专用操作的封装体。封装是一种 A 技术,封装的目的是使对象的 B 分离。类是一组具有相同属性和相同操作的对象的集合,类中的每个对象都是这个类的一个 C 。类之间共享属性和操作的机制成为 D 。一个对象通过发送 E 来请求另一对象为其服务。

A:①组装②产品化③固化④信息隐蔽()

B:①定义和实现②设计和测试③设计和实现④分析和定义() C:①例证②用例③实例④例外()

D:①多态性②动态绑定③静态绑定④继承()

E:①调用语句②消息③命令④口令()

2.软件设计的常用方法有SADT方法、Jackson方法、快速原形方法和 OO设计方法等。其中,Jackson方法是一种面向数据结构的设计方法,其数据结构一般有 A 、 B 、 C 三类,并根据 D 来导出程序结构。OO方法的核心是 E ,这是提高可维护性的重要措施。

A: ①记录结构②顺序结构③指针④树() B: ①表结构②选择结构③数组④线性表()

C: ①链表结构②列表③重复结构④队列结构()

D:①数据结构②数据间的控制结构③数据流图④图()

E:①结构化②继承性③信息隐藏④对象()

3.面向对象建模通常定义了三种模型,它们分别是对象模型、动态模型和功能模型。其中, A 模型描述系统中与时间和操作顺序有关的系统特征,表示瞬时的行为上的系统的“控制”特征; B 模型描述了系统中对象的静态结构,以及对象之间的联系; C 模型描述了系统的功能“性质”,它指出了系统应该做什么。在建立动态模型中,通常先画出 D ,然后再画出 E 。

A:①对象②功能③动态④静态()

B:①对象②时序③动态④实时()

C:①对象②功能③变换④计算()

D:①类图②状态图③事件跟踪图④数据流图()

E:①类图②状态图③事件跟踪图④数据流图()

4.在编制程序时,应采纳的原则之一是 A 。开发软件时对提高开发人员工作效率至关重要的是 B 。软件工程中描述生命周期的瀑布模型一般包括计划、 C 、设计、编码、测试、维护等几个阶段,其中设计阶段通常又可依次分成 D 和 E 两步。

A:①不限制goto 语句的使用②减少或取消注解行 ( )

③程序越短越好④程序结构应有助于读者理解

B:①操作系统的资源管理功能②程序开发环境 ( )

③程序人员数量④计算机的并行处理能力

C:①需求分析②需求调查③可行性分④问题定义 ( )

D: ①数据结构设计②总体设计③数据库设计④代码设计 ( )

E: ①方案设计②详细设计③代码设计④菜单设计 ( )

5.软件测试的目的是 A 。为了提高测试的效率,应该 B 。用面向对象方法开发的系统测试与其他方法开发的系统测试没有什么不同,在所有开发系统中都是根据规范说明来验证系统设计的正确性。程序验证应尽可能早地开始。程序测试步骤是从最底层开始,从 C 、 D 、 E 。

A:①评价软件的质量②发现软件的错误()

③发现数据的错误④证明软件是正确的

B:①随机地选取测试数据②将一切可能的输入数据作为测试数据()

③在完成编码以后制定软件的测试计划④选择发现错误的可能性大的数据作为测试数据

C:①模块测试②综合测试③系统测试④单元测试()

D:①模块测试②综合测试③系统测试④单元测试()

E:①模块测试②综合测试③系统测试④单元测试()

6. 我们认为,瀑布模型的缺欠并不来源于模型本身,而是来源于人们的认识论。因为人类对复杂的问题的认识是一种循环渐进的过程,而瀑布模型过分强调软件开发的 A 、完整性和 B ,在许多情况下难以作到,特别是在大型软件系统的 C ,用户很难说清楚所要做的全部工作,更谈不上 D 和 E 。

A:①正确性②阶段性③可靠性④合理性()

B:①正确性②可靠性③顺序性④一致性()

C:①设计阶段②实现阶段③分析阶段④功能设计阶段() D:①软件的可使用性②软件的正确性③软件的可靠性④软件易维护性()

E:①软件的可维护性②软件的合理性③软件的完善性④软件健壮性()

7.面向对象的软件工程是采用面向对象的方法、设计技术和实现工具,更接近于工业化生产方式来实施软件生产的全过程,这是因为面向对象的软件工程有利于解决多年来软件工程中所提出的软件的可靠性、安全性、健壮性等问题。其中: A 是指对软件系统的合理输入,系统能给出正确的结果,并能拒绝对用户的不合理输入; B 是指软件系统对环境的适应性; C 是指软件系统能否在即定的环境下运行并达到所预期的结果。而面向对象程序设计所追求的主要目标是 D 和 E 。

A:①可靠性②安全性③健壮性④可扩充性⑤易维护性() B:①可靠性②安全性③健壮性④可扩充性⑤易维护性()

C: ①可靠性②安全性③健壮性④可扩充性⑤易维护性()

D: ①提高可扩充性②可再用性③安全性④①和②⑤①和③()

E: ①提高可扩充性②可再用性③易维护性④①和②⑤①和③()

8.设计高质量的软件是软件设计追求的一个重要目标。其中,可移植性、可维护性、可靠性、效率、可理解性和可使用性等都是评价软件质量的重要方面。为了提高软件的可移植性,应注意提高软件的 A 。可维护性通常包括 B 。通常认为软件维护工作主要包括完善性维护、 C 维护和 D 维护。其中 E 维护是指当系统万一遇到未预料的情况时,能够按照预定的方式作合适的处理。

A:①使用的方便性②简洁性③可靠性④设备不依赖性 ( )

B:①可用性和可理解性②可修改性、数据独立性和数据一致性 ( )

③可测试性和稳定性④可理解性、可修改性和可测试性

C:①功能性②合理性③正确性④可靠性 ( )

D:①功能性②合法性③适应性④实用性 ( )

E:①可用性②正确性③稳定性④健壮性 ( )

9.软件的易维护性是指理解、更正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和 A 。在软件开发过程中往往采取各种措施来提高软件的易维护性。如采用 B 有助于提高软件的易理解性; C 有助于提高软件的易修改性;利用 D 和 E 有

助于提高软件的开发效率。

A:①易使用性②易恢复性③易替换性④易测试性()

B:①增强健壮性②信息隐藏原则③良好的编程风格④高效的算法()

C:①高效的算法②信息隐藏原则③增强健壮性④身份验证()

D:①好的开发方法②好的开发工具③继承性④模块独立性()

E:①可重用性②用户对象③好的开发环境④模块独立性()

10.目前的软件开发技术和方法远远落后于硬件的发展水平,其主要原因是受两大问题的困扰,一是我们采用的软件开发的 A 和人类 B 一个系统的过程不一致,其二是软件的 C 和 D 不能直接影响问题空间。解决的途径只有完善软件本身,使软件 E 与问题空间保持一致,以次来改善软件的开发过程。

A:①过程②技术③方法④思路()

B:①分析②设计③实现④认识()

C:①成分②开发技术③实现方法④实现技术()

D:①成分②结构③实现方法④实现技术()

E:①分析模型②设计模型③软件结构④软件空间()

二、简答题(每题4分,共20分)

1.请你从认识论和方法论的角度论述一下,为什么说长久以来,人们在软件开发中发现认识一个系统的过程和方法同我们用于分析、设计和实现一个系统的过程和方法很不一致?在软件设计中,面向对象方法学的出发点和所追求的基本原则是什么?

2.软件工程是按工程化的方法组织和管理软件的生产,自70年代以来,虽已提出过多种软件开发方法和软件开发模型,但使用最广泛的是“瀑布式生命期”模型。瀑布式生命期把软件开发分为计划、需求分析、设计、编码、测试和维护六个阶段,请你说明每个阶段的主要任务是什么?

3.用面向对象方法开发软件通常需要建立对象模型、动态模型和功能模型,这三种模型从三个不同的,但又密切相关的角度来模拟目标系统。请你说明每种模型的主要任务是什么?

4.无论采用何种分析方法,它的主要任务就是通过对问题空间的分析、研究,以获得对应用问题的理解。请你给出几个(三个以上)理由,为什么说“面向对象分析方法”优越于传统的“功能/数据分析方法”?

5.面向对象分析的主要任务是什么?分析工作主要包括哪三项内容?

三、阐述题(每题15分,共30分)

1. 通过对本课程的学习,结合你在软件开发中的经验,阐述在软件开发过程中使用面向对象软件开发的基本思想和方法。

2. 试说明面向对象技术的软件开发方法与传统的软件开发方法的思维方式、分析问题、解决问题有何主要差别?采用面向对象技术的软件开发方法有

何易处?

第4章-Java语言与面向对象作业习题与答案

第4章 Java语言与面向对象作业习题与答案 一、简答题 1.什么是对象?什么是类? 对象是一种抽象数据类型。它包含了事物的静态特征(属性)和动态特征(行为)两大特征。 类是一组同种对象的集合与抽象。即是具有相同属性和方法的一组对象集合。 2.Java语言的单继承是指什么? 一个类可以派生出多个子类,但子类只允许有一个父类,而不允许存在多个父类。 3.在一个共有类中的数据成员及方法成员的访问控制符为缺省,则这个类可供什么样的包引用? 当一个类的访问控制符为public共有时,表明这个类作为整体对其它类是可见和可引用的;但其数据成员和方法成员访问控制符为缺省时,它们只能被包中类(含当前类)引用。 4.抽象类的用途 (1)设计在更高的层次上进行,不考虑具体对象,从而大大简化了处理问题的复杂性; (2)设计出的类也具有更加良好的可扩展性。 5.什么是非静态的成员变量? 非静态成员即为实例成员变量(没有加static修饰的变量)。 6.异常Exception和错误Error有什么不同?Java如何处理它们? 答:错误通常是指程序本身存在非法情形,常常是因为代码存在问题而引起的,如造成系统崩溃、虚拟机粗错、动态失败等,这一类错误无法恢复或不可能捕获,并将导致应用程序中断。 异常表示另外一种“非同寻常”的错误。这种错误通常是不可预测,但可以被捕获且可以恢复。常见的异常情况包括存不足、找不到所需文件等。 对于错误,编程人员可以通过对程序进行更仔细的检查,以避免这种错误。 对于异常,可以使用捕获机制进行捕获,再编写出相应的处理程序。 7.简单述Java的异常处理机制。 答:Java采取“抛出—捕获”的方式,一旦一个异常想象产生,Runnable环境和应用程序会抛出各种标准类型和自己定义的异常,系统就可以捕获这些异常,并一定有相应的机制来处理它,确保不会产生司机、死循环或其它对操作系统的损害,从而保证了整个程序运行的安全性。 8.简单述throw语句和throws关键字之间的差别。 答:throw语句是在一个方法中用来直接抛出异常对象,其格式是: throw 异常对象; throws关键字是用一个方法声明首部,用来指出这个方法中可能产生若干种异常,其格式:[方法修饰符] 返回类型方法名(参数表)throws 异常类型表 { /*方法体*/ } 二、填空题 1.所有Java应用程序都必须包含的一个类方法是 main() 。 2.面向对象程序设计语言的三种重要特性是封装性、继承性和多态性。

面向对象试题(标准答案)

CoreJavaOOP考试题 考试时间:90分钟 考试总分:100分 一、选择题(不定项选择)(22*4=88) 1. 类A,B的定义如下: class A { private int a = 100; A() { System.out.print("A()"); System.out.println(a); } } class B extends A { private int a = 200; B() { System.out.print("B()"); System.out.println(a); } } 运行下面的代码: new B(); 输出的结果是:(A )。 A. A() 100 B() 200 B. A() 200 B() 200 C. B() 200 A() 100 D. B() 200 A() 200

2.下列说法正确的是(D ) A.所有类都必须定义构造方法(构造器) B.构造方法必须初始化类的所有数据成员 C.子类定义了构造器后,不再调用父类的构造器 D.构造方法可以访问类的非静态成员 3.在Java中,哪个关键字使类不能派生子类?, (A ) A : final B : public C : private D : native 4.class Base{ static void test(){ System.out.println(“Base.test()”); } } public class Child extends Base{ static void test(){ System.out.println(“Child.test()”); } public static void main(String[] args){ Base base = new Child(); Child child = new Child(); base.test(); child.test(); } } 程序运行的结果是( C ) A.Child.test() Child.test() B.Child.test() Base.test() C.Base.test() Child.test() D.Base.test() Base.test()

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: S模式将应用与服务分离,系统具有稳定性和灵活性 S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

面向对象软件开发教程

软件是在代码之外发生的一切事情。 如何继续学习过程 你将从本章学到什么? 两千年后(P2K)的软件环境是什么样的? P2K软件环境中的技术和技能是什么?有关P2K技能和技术有哪些概述性的资源?软件专家在面向对象项目中充当什么角色/职位? 如何继续面向对象的学习过程? 为什么需要阅读本章? 你的技能,以及如何使用它们,是能否成为成功的软件专家的重要决定性因素。通过阅读本书,你会获得学习对象技术和技巧所需的基本知识,本章也给你提供了继续进一步学习过程的建议。 至此,你已经了解了面向对象的全部内容,现在你已经是一名准备开发大型、关键性任务软件的对象专家。好吧,现在你还不全是。实际上,你已经掌握了一些有用的概念和技能,也明白了它们如何一起使用,在浏览复习题以及案例学习的过程中,你已经使用了它们。目前你正处在有利地位,可以继续你的学习过程,这个过程将很可能贯穿你的整个职业生涯。本章给出了对软件业目前的状况以及将来的发展方向的见解,在接下来的几年中将会需要什么样的技能,要如何才能获得这些技能。 11.1 P2K 环境 在你的整个职业生涯中一直要学习新的技能。 软件业在20世纪90年代后半期被Y2K危机严重影响了,新的开发被耽搁下来或者干脆取消,以转移资源解决Y2K危机,结果,许多企业都推迟了对采用新的技术和技能的投资。现在 Y2K危机已经过去了,我们正面对着两千年后(P2K)的软件环境,一个使用本书中描述的技术支配的环境。 在P2K环境中,你将会应用新的方法,例如面向对象的和基于组件的方法,采用迭代和增 量方法的新的开发过程,像Java和CORBA这样新的技术,以及像用况建模这样新的技术。本 书概述了对象开发技术,本节也总结了用于P2K环境的关键技术和技能。要理解P2K环境, 必需考虑下面几项内容:

面向对象面试题

面向对象面试题 1、什么是面向对象 面向对象OO = 面向对象的分析OOA + 面向对象的设计OOD + 面向对象的编程OOP; 通俗的解释就是万物皆对象,把所有的事物都看作一个个可以独立的对象(单元),它们可以自己完成自己的功能,而不是像C那样分成一个个函数; 现在纯正的OO语言主要是java和C#,C++也支持OO,C是面向过程的。 2、简述private、protected、public、internal 修饰符的访问权限。 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 当前程序集内可以访问。 3、https://www.doczj.com/doc/c55501416.html,中的五个主要对象 Connection:主要是开启程序和数据库之间的连结。没有利用连结对象将数据库打开,是无法从数据库中取得数据的。这个物件在https://www.doczj.com/doc/c55501416.html, 的最底层,我们可以自己产生这个对象,或是由其它的对象自动产生。 Command:主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令,以及呼叫存在数据库中的预存程序等。这个对象是架构在Connection 对象上,也就是Command 对象是透过连结到数据源。 DataAdapter:主要是在数据源以及DataSet 之间执行数据传输的工作,它可以透过Comm and 对象下达命令后,并将取得的数据放入DataSet 对象中。这个对象是架构在Command 对象上,并提供了许多配合DataSet 使用的功能。 DataSet:这个对象可以视为一个暂存区(Cache),可以把从数据库中所查询到的数据保留起来,甚至可以将整个数据库显示出来。DataSet 的能力不只是可以储存多个Table 而已,还可以透过DataAdapter对象取得一些例如主键等的数据表结构,并可以记录数据表间的关联。DataSet 对象可以说是https://www.doczj.com/doc/c55501416.html, 中重量级的对象,这个对象架构在DataAdapter对象上,本身不具备和数据源沟通的能力;也就是说我们是将DataAdapter对象当做DataSet 对象以及数据源间传输数据的桥梁。 DataReader:当我们只需要循序的读取数据而不需要其它操作时,可以使用DataReader 对象。DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传回,故可以降低网络的负载。 https://www.doczj.com/doc/c55501416.html, 使用Connection 对象来连接数据库,使用Command 或DataAdapter对象来

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

Java软件开发工程师笔试题(答案)

Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分)

1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32,

面向对象分析与及设计习题及答案

面向对象分析与及设计习题及答案 一、单项选择题 1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的 形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。 A. Simula67语言 B. Smalltalk语言 C. Java语言 D. 统一建模语言(UML)的标准 2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。 A. Smalltalk B. Eiffel C. C++ D. Java 3.下列不属于面向对象技术的基本特征的是(B)。 A. 封装性 B. 模块性 C. 多态性 D. 继承性 4. 面向对象程序设计将描述事物的数据与(C) 封装在一起,作为一个相互依存、不可分割的整体来处理。 A. 信息 B. 数据隐藏 C. 对数据的操作 D. 数据抽象 5. 关于面向对象方法的优点,下列不正确的叙述是(C)。 A. 与人类习惯的思维方法比较一致 B. 可重用性好 C. 以数据操作为中心 D.可维护性好 6. (D)是从用户使用系统的角度描述系统功能的图形表达方法。 A. 类图 B. 对象图 C. 序列图 D. 用例图 7. (C) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图 和其他图的基础。 A.对象图 B. 组件图 C. 类图 D. 配置图 8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之 间传递消息的时间顺序。 A.对象图 B. 协作图 C. 状态图 D. 序列图 9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统 中软件和硬件的物理架构。 A. 组件图 B. 协作图 C. 状态图 D. 配置图 10. 使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。 A. 业务Use Case模型设计 B. 逻辑数据模型设计 C. 物理数据模型设计 C. 物理实现设计 11.一个设计得好的OO系统具有(B) A. 低内聚、低耦合的特征 B. 高内聚、低耦合的特征 C. 高内聚、高耦合的特征 D. 低内聚、高耦合的特征 12.下面()不是UML的基本构成元素。(A) A. 控制语言 B. 基本构造块 C. 规则 D. 公共机制

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

软件工程师笔试题及答案

吉运集团 北京信息科技开发公司软件工程师笔记题 ___________________________________________ __________ 姓名:________________ 联系电话:_____________ 期望工资________________ 分)第一部分:选择题(每题5 ) 多选都正确一、以下程序中VB和C#书写的是:( A:Public strName As String 和string strName = new string() B:Public strName As String()和string strName = new string() C:Public strName(10)As String和string[] strName = new string[100]; D:以上答案都正确; 二、以下C#程序中,写法不正确的是( )多选.B :C:\\Windows\\System32 A:C://Windows//System32 D:@C:/Windows/System32 C:@C:\Windows\System32 三、下列选项中,是引用类型的是( ) A. enum类型 B. struct类型 D. int 类型类型C. string ) 四、软件开发过程一般有以下几个阶段,正确的说法是( A:需求分析,概要设计,详细设计,软件编码,软件测试 B:概要设计,需求分析,详细设计,软件编码,软件测试 C:需求分析,详细设计,软件开发,系统上线 D:系统调研,需求讨论,整体设计,系统上线,系统售后 ) 五、以下关于CLR语言描述,不正确的是( 中调用;https://www.doczj.com/doc/c55501416.html,写类,在C#翻译语言,用户可以用.NET是CLR:A. B:有了CRL 在.NET,保证了一种语言具有的功能其它语言也有; C:CLR是在.NET 中间语言,是CPU能看懂的语言; D :以上说法都正确; ( )

面向对象的软件开发方法简介

1面向对象的软件开发方法简介 面向对象的开发方法把软件系统看成各种对象的集合,对象就是最小的子系统,一组相关的对象能够组合成更复杂的子系统。面向对象的开发方法具有以下优点。 ●把软件系统看成是各种对象的集合,这更接近人类的思维方式。 ●软件需求的变动往往是功能的变动,而功能的执行者——对象一般不会有大的变 换。这使得按照对象设计出来的系统结构比较稳定。 ●对象包括属性(数据)和行为(方法),对象把数据和方法的具体实现方式一起封 装起来,这使得方法和与之相关的数据不再分离,提高了每个子系统的相对独立性, 从而提高了软件的可维护性。 ●支持封装,抽象,继承和多态,提高了软件的可重用性,可维护性和可扩展性。 1.1 对象模型 在面向对象的分析和设计阶段,致力于建立模拟问题领域的对象模型。建立对象模型既包括自底向上的抽象过程,也包括自顶向下的分解过程。 1.自底向上的抽象 建立对象模型的第一步是从问题领域的陈述入手。分析需求的过程与对象模型的形成过程一致,开发人员与用户交谈是从用户熟悉的问题领域中的事物(具体实例)开始的,这就使用户和开发人员之间有了共同语言,使得开发人员能够彻底搞清用户需求,然后再建立正确的对象模型。开发人员需要进行以下自底向上的抽象思维。 ●把问题领域中的事物抽象为具有特定属性和行为的对象。 ●把具有相同属性和行为的对象抽象为类。 ●若多个类之间存在一些共性(具有相同属性和行为),把这些共性抽象到父类中。 再自底向上的抽象过程中,为了使子类能更好的继承父类的属性和行为,可能需要自顶向下的修改,从而使整个类体系更加合理。由于这类体系的构造是从具体到抽象,再从抽象到具体,符合人们的思维规律,因此能够更快,更方便的完成任务。 2.自顶向下的分解 再建立对象模型的过程中,也包括自顶向下的分解。例如对于计算机系统,首先识别出主机对象,显示器对象,键盘对象和打印机对象等。接着对这些对象再进一步分解,例如主机对象有处理器对象,内存对象,硬盘对象和主板对象组成。系统的进一步分解因有具体的对象为依据,所以分解过程比较明确,而且也相对容易。因此面向对象建模也具有自顶向下开发方法的优点,既能有效的控制系统的复杂性,又能同时避免结构化开发方法中功能分解的困难和不确定性。 1.1.2UML:可视化建模语言 面向对象的分析与设计方法,在20世纪80年代末至90年代中发展到一个高潮。但是,诸多流派在思想和术语上有很多不同的提法,对术语和概念的运用也各不相同,统一是继续发展的必然趋势。需要有一种统一的符号来描述在软件分析和设计阶段勾画出来的对象模型,UML(Unified Modeling Language,统一建模语言)应运而生。UML是一种定义良好,易于表达,功能强大且普遍适用的可视化建模语言。而采用UML语言的可视化建模工具是Rational 公司开发的Rational Rose。 1.2 面向对象开发中的核心思想和概念 在面向对象的软件开发过程中,开发者的主要任务就是先建立模拟问题领域的对象模型,然后通过程序代码来实现对象模型,如何用程序代码来实现对象模型,并且保证软件系统的可重用性,可扩展性和可维护性呢?本节节主要阐述面向对象开发的核心思想和概念,这些核心思想为从事面向对象的软件开发实践提供理论武器。

Java面向对象测试试题(经典)

《使用Java实现面向对象编程》阶段测试-笔试试卷 一、选择题(共25题,每题4分,满分100分) 1) 在Java类中,使用以下()声明语句来定义公有的int型常量MAX。 A. public int MAX = 100; B. final int MAX = 100; C. public static int MAX = 100; D. public static final int MAX = 100; 2) 在Java中,下列关于方法重载的说法中错误的是()。 A. 方法重载要求方法名称必须相同 B. 重载方法的参数列表必须不一致 C. 重载方法的返回类型必须一致 D. 一个方法在所属的类中只能被重载一次 3) 给定Java代码如下所示,在横线处新增下列()方法,是对cal方法的重载。 public class Test{ public void cal(int x, int y, int z) {} } A. public int cal(int x, int y, float z){ return 0; } B. public int cal(int x, int y, int z){ return 0; } C. public void cal(int x, int z){ } D. public void cal(int z, int y, int x){ } 4) 在Java中,下面对于构造函数的描述正确的是()。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数 D. 一个类可以定义多个构造函数

软件开发工程师(JAVA)笔试题

软件开发工程师(JAVA)笔试题 请在90分钟以内做答答案请写在答题纸上 一、选择题 1、下面哪项是不合法的标识符:() A. $persons B. TwoUsers C. *point D. _endline E. final 2、下列运算符合法的是() A.&& B.<> C.if D.:= 3、下面描述中哪两项相等:()[选择两项] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%> D. E. F. G. 4、设float x = 1,y = 2,z = 3,则表达式 y+=z--/++x的值是:() A. 3.5 B. 3 C. 4 D. 5 5、下面的哪些叙述为真:() A.equals()方法判定引用值是否指向同一对象 B.==操作符判定两个不同的对象的内容和类型是否一致 C.equal()方法只有在两个对象的内容一致时返回true D.类File重写方法equals()在两个不同的对象的内容和类型一致时返回true 6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?() A. 能 B. 不能 C. 不确定 7、下列说法错误的有() A.能被java.exe成功运行的java class文件必须有main()方法 B. J2SDK就是Java API C. Appletviewer.exe可利用jar选项运行.jar文件 D.能被Appletviewer成功运行的java class文件必须有main()方法 8、下列正确的有() A. call by value不会改变实际参数的数值 B. call by reference能改变实际参数的参考地址 C. call by reference不能改变实际参数的参考地址 D. call by reference能改变实际参数的内容 9、下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C. int number=[]={31,23,33,43,35,63}

面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

面向对象考试题

第五章考试题 一、选择题:(每题3分,共20题) 1.下面关于类的说法错误的一项是()。 A、类属于Java语言中的复合数据类型 B、对象是Java语言 中的基本结构单位 C、类是同种对象的集合和抽象 D、类就是对象 2.如下所示代码: public class Test05_01{ private float a; public static void m ( ){ } } 如何使成员变量a被方法m( )访问()。 A、将private float a改为public float a B、将private float a改为static float a C、将private float a改为protected float a D、将private float a改为float a 3.下面关于类的说法有误的一项是()。 A、类就是对象 B、类是同种对象的集合和 抽象 C、类属于Java语言中的复合数据类型 D、对象是Java语言 中的基本结构单位

4.下列哪种类成员修饰符修饰的变量只能在本类中被访问()。 A、protected B、default C、private D、public 5.下面关于方法的说法不正确的一项是()。 A、类的私有方法不能被其他类直接访问。 B、Java中的构造方法名必须和类名相同。 C、方法体是对方法的实现,包括变量声明和合法语句。 D、如果一个类定义了构造方法,也可以用该类的默认构造方法。 6.下列程序的运行结果是()。 public class Test05_02 extends x{ int ab(){ static int a = 10; a++; System.out.println(a); } public static void main(String[] args) { Test05_02 b = new Test05_02 (); b.ab(); } } A、10 B、编译错误 C、11 D、运行成功,但不输出

2_面向对象基础测试题和答案

共40道选择题,每题2.5分。多选题有错则全错,全对才满分. 面向对象部分测试题 1.下面描述函数重写错误的是C A.?要有子类继承或实现 ?B.?子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D.?子类重写接口中的抽象方法,子类的方法权限必须是public的 2.关于封装下面介绍错误的是(D )。 A. 封装将变化隔离 B.?封装提高重用性。 C.?封装安全性 ?D. 只有被private修饰才叫做封装 3.试图编译运行下面的代码会发生什么情况D public class MyClass{ static int i; publicstaticvoid main(String[]args){System.out.println(i); } } ?A.?错误,变量i没有被初始化 ?B. 输出null C.?输出1 ?D. 输出0 4.在Java中,下面对于构造函数的描述正确的是( D)。 A. 类必须显式定义构造函数 B.构造函数的返回类型是void ?C.?构造函数和类有相同的名称,并且不能带任何参数

D.一个类可以定义多个构造函数 5.下面Java代码的运行结果是(C)。 class Penguin { ?private String name=null; // 名字 privateint health=0;//健康值 private String sex=null; //性别 publicvoid Penguin(){//是一般方法,不是构造方法 health = 10; ??sex = "雄"; ??System.out.println("执行构造方法。"); ?} public voidprint() { ??System.out.println("企鹅的名字是" +name + ?",健康值是"+ health + ",性别是"+ sex+"。"); ?} public staticvoidmain(String[] args){ ?Penguin pgn= new Penguin(); pgn.print(); } } A. 企鹅的名字是null,健康值是10,性别是雄。 B.?执行构造方法。 企鹅的名字是null,健康值是0,性别是null。 ?C.?企鹅的名字是null,健康值是0,性别是null。 D.?执行构造方法。 ?企鹅的名字是null,健康值是10,性别是雄。 6.class A { public int i = 10;?} class B extends A{

面向对象的分析过程

面向对象的分析过程 摘要 分析了面向对象技术应用于仿真领域的种种优点,亦即我们选择采用面向对 象的方法进行改造的原因。一些面向对象方法存在的不足。 关键词:仿真,面向对象,岸边集装箱起重机,训练器 面向对象的开发方法是以对象作为最基本的元素,它是分析问题、解决问题的核心。 面向对象=对象(Object) +分类(classification) +继承(inheritance) +通过消息的通信(communication with messages) 从下图中我们可以看出,面向对象的开发方法明显不同。 面向对象的仿真为仿真人员提供了开发模块化可重用的仿真模型的工具,它把系统看成由相互作用的对象所组成,而对象则往往表示现实系统中的真实实体。从而提高了仿真模型的可理解性、可扩充性和模块性,并且便于实现仿真与计算机图形和人工智能的结合。采用面向对象的方法,原因如下: 1.可理解性 面向对象仿真对设计者、实现者,以及最终用户来说都改进了仿真的可理解性。因为仿真系统中的对象往往直接表示现实系统中的真实实体,这些实体在面向对象的仿真系统中可以用外观上类似于人们熟悉的实际系统的对象的图形或图像来表示,用户可以通过图形界面与仿真模型进行交互,利用图形或图像来直接建立仿真模型,这对于熟悉实际系统的用户来说是很容易理解的。 2.可重用性和可扩充性 在面向对象的仿真中,可以建立起一个模型库用以保存以前建立的模型,模型库中的模型可以作为建立新模型的可重用构件,通过面向对象技术内在的继承机制可以容易地和系统地修改现有的对象(类)以创建新的对象。并且可以加入现有的类库中。类库提供了仿真建模所需要的一般设施。通过修改现有的类,可以建立各种应用中所需要的特殊对象。 3.模块性 面向对象的仿真是模块化,特殊的过程来寻找相应的信息,不会影响其它的对象。 4.图形用户界面

面向对象基础测试题和答案

共40 道选择题,每题 2.5 分。多选题有错则全错,全对才满分. 面向对象部分测试题 1. 下面描述函数重写错误的是 C A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private 权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public 的 2. 关于封装下面介绍错误的是( D )。 A. 封装将变化隔离 B. 封装提高重用性。 C. 封装安全性 D. 只有被private 修饰才叫做封装 3. 试图编译运行下面的代码会发生什么情况 D public class MyClass{ static int i; public static void main(String[] args){ System.out.println(i); } } A. 错误,变量i 没有被初始化 B. 输出null C. 输出1 D. 输出0 4. 在Java 中,下面对于构造函数的描述正确的是(D)。 A. 类必须显式定义构造函数 B. 构造函数的返回类型是void C. 构造函数和类有相同的名称,并且不能带任何参数

D. 一个类可以定义多个构造函数 5. 下面Java 代码的运行结果是( C )。 class Penguin { private String name=null; // 名字 private int health=0; // 健康值 private String sex=null; // 性别 public void Penguin() { //是一般方法,不是构造方法health = 10; sex = " 雄"; System.out.println(" 执行构造方法。"); } public void print() { System.out.println(" 企鹅的名字是" + name + " ,健康值是" + health + " ,性别是" + sex+ " 。"); } public static void main(String[] args) { Penguin pgn = new Penguin(); pgn.print(); } } A. 企鹅的名字是null ,健康值是10 ,性别是雄。 B. 执行构造方法。 企鹅的名字是null ,健康值是0 ,性别是null 。 C. 企鹅的名字是null ,健康值是0 ,性别是null 。 D. 执行构造方法。 企鹅的名字是null ,健康值是10 ,性别是雄。 6. class A { public int i = 10; }

面向对象程序设计考试题库

面向对象程序设计期末综合练习一(单选题) 单选题 1. C++源程序文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 2. 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. lik 4. 编写C++程序一般需经过的几个步骤依次是( )。 A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试 C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接 5. 以下标识符中不全是保留字的是( )。 A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C++程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 7. 程序中主函数的名字为( )。 A. main B. MAIN C. Main D. 任意标识符 8. C++程序的基本模块为( )。 A. 表达式 B. 标识符 C. 语句 D. 函数 9. 可用作C++语言用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 10. 存储以下数据,占用存储字节最多的是( )。 A. 0 B. …0? C. “0” D. 0.0 11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。 A. 12 B. 144 C. 156 D. 288 13. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式abc 1的表达式是( )。 A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( )。 A. 15 B. 26,15 C. 15,26 D. 26

相关主题
文本预览
相关文档 最新文档