《JAVA设计模式》期末考试复习资料复习进程

合集下载

Java期末考试复习及部分答案

Java期末考试复习及部分答案

第一部分知识点复习第2章Java基础知识1.标识符定义。

标识符是为Java程序中定义的变量、方法和类等所起的名字。

2.关键字。

Java将一些单词赋予特定的涵义,用于专门用途,不允许在当作普通的标志符来使用,这些单词被称为关键字3.三种注释。

单行注释(//),多行注释(/*````````*/),文档注释(/**```````*/)4.变量及其分类。

变量是利用声明的方式,将内存中的某个快保存下来供程序使用。

变量的类型:整型(int)、长整型(long)、短整型(short)、浮点型(float)、双精度浮点型(double)字符型(char)、字符串行(String)5.常量的定义。

6.Java的数据类型分类。

基本数据,数组,类,接口7.变量的类型转换(赋值相容)。

8.Java程序控制语句分为三类:选择、循环和顺序。

9.if语句和switch语句比较。

if语句和switch语句可以从使用的效率上来进行区别,也可以从实用性角度来区分。

如果从使用的效率上进行区分,在对同一个变量的不同值作条件判断时,可以用switch语句与if语句,使用switch语句的效率相对更高一些,尤其是判断的分支越多越明显。

如果从语句的实用性的角度去区分,那switch语句肯定不如if条件语句。

if条件语句是应用最广泛和最实用的语句。

10.while、do-while、for语句(包括for-each)的比较。

(1)while语句和do...while语句,只在while后面指定循环条件,但是需要在循环体中包括使循环趋于结束的语句,而for语句则可以在迭代语句中包含使循环趋于结束的语句。

(2)用while语句和do...while语句时,对循环变量的初始化操作应该放在while语句和do...while语句之前,而for语句则可以在初始化语句中完成。

(3)while语句和do...while语句实现的功能相同,唯一的区别就是do…while语句先执行后判断,无论表达式的值是否为true,都将执行一次循环;而while语句则是首先判断表达式的值是否为true,如果为true则执行循环语句;否则将不执行循环语句。

java高级程序设计第二学期期末复习总结计划题.docx

java高级程序设计第二学期期末复习总结计划题.docx

一、判断题1.是对象可以序列化接口。

(√)2.包是 Java 语言用来构建图形用户界面( GUI)的类库。

(√)3.容器是 Component的子类,一个容器可以容纳多个构件,并使他们成为一个整体。

(√)4.Java 中所有的类都是通过直接或间接地继承类得到的。

(√)5.Java 的图形用户界面的最基本的组成部分就是构件(Component)。

(√)6.在 Swing 中用重量级的构件替代了 AWT中的轻量级的构件。

(X)7.与 AWT构件不同, Swing 构件不能直接添加到顶层容器中,它必须添加到一个与 Swing 顶层容器相关联的内容面板( contentPane )上。

(√)8.类 Panel 默认的布局管理器是 GridLayout 。

(X)9.每个 Java 小应用程序必须定义为 Jframe 类的子类。

(√)10.使用 UDP通信时,用 DatagramPacket 类把要发送的信息打包。

(√)11.AWT组件称为重型组件(√)组件称为轻型组件(√)13.容器类不是 GUI 组件 (X)14.使用 add 方法可以在框架的内容窗格中添加组件(√)是最简单的布局管理器(√)16.布局管理器 GridLayout 不是以网格(矩阵)的形式排列组件( X)17.布局管理器的属性不可以动态的改变( X)18.每一时刻,一个容器只能有一个布局管理器(√)19.要创建一个用户界面,需要创建一个框架或 applet 来存放用户界面组件(√)类是所有用户界面的父类(√)21.JFrame 实例可以添加到容器中。

( F )22.JCheckBox 继承了 AbstractButton 类的所有属性。

( T )23.JTextArea 可以让用户输入多行文字。

( T )24. JSlider与JScrollbor类似,但是JSlider具有更多的属性和更多是显示形式。

(T )类继承了 JTextComponent 类,而 JTextComponent 类继承 JComponent类。

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导

Java程序设计基础期末复习指导Ⅰ复习要求第1章程序设计概述1.掌握程序设计语言的分类2.掌握面向对象中的基本概念3.掌握建立Java运行环境练习题P10 1.第二章Java语言基础1.掌握变量、各种运算符的功能和用法2.掌握运算符的优先级3.理解程序源代码课本例题2.4 2.5 2.6 2.8练习题P28 3. 4. 5. 6.第三章流程控制1.掌握选择结构并熟练应用2.掌握循环结构并熟练应用例题:3.2 3.3 3.5 3.7练习题:P42 1. 3第四章方法1.掌握方法的概念和作用2.掌握方法的定义3.掌握参数传递与返回值例题: 4.1 4.2 4.4 4.6 4.7练习题P56 1. 2. 3.第五章类与对象1.掌握类的定义2.掌握类的实例化3.掌握Java Application的基本结构例题: 5.1 5.3 5.6 5.7 5.12练习题:P80 1. 2.第六章继承与多态1.掌握继承关系2.掌握属性、方法在继承中的特点3.掌握接口的作用、定义和实现例题:6.1 6.3练习题:P111 1. 2.第七章例外处理1.掌握例外机制2.了解Java定义的例外类练习题:P138 1.第八章Java基本类库介绍1.了解包的概念2.了解ng中的几个基本类练习题:P159 1.第九章Java的集合类1.了解集合类与普通数组的区别2.了解集合类的特点及适用条件练习题:P184 1.第十章输入输出系统1.掌握输入输出的总体结构2.掌握流的概念3.能构建不同的流例题:10.8练习题:P211 1.第11、12、13章内容只做了解,不在本次考试范围之内。

II样题一、选择题(每小题2分,共60分)1.算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。

while i<n do{for j←1 to n dos←s+a[i,j]i←i*2;则该算法的时间复杂度为()A.O(2n) B.O(n+log2n)C. O ( n log2n)D.O(n2)2. 下面关于数据结构的叙述中,正确的叙述为()A.顺序存储方式和优点是存储密度大,且插入、删除运算效率高B.链表中的每一个结点都包含好一个指针C.包含n个结点的二叉排序树的最大检索长度为log2nD.将一棵树转换为二叉树后,根结点没有右子树3.下面列出的数据管理技术发展的三个阶段中,哪个(些)阶段没有专门的软件数据进行管理()I.工管理阶II.文件系统阶段III.数据库阶段A.只有I B.IIC.I,II D.II,III4.数据库的三级模式结构由模式、模式和内模式组成,它适合于哪个(些)类型的数据库()I.关系型数据库II.层次型数据库III.网状型数据库A.只有IB.I和IIC.II和IIID.都适合5.提高模块的__,使得当修改或维护模块时,可减少把一个模块的错误扩散到其他模块中去的机会。

Java程序设计复习大纲+复习题及答案

Java程序设计复习大纲+复习题及答案

《Java语言程序设计》复习大纲第一章绪论1、掌握使用文本编辑器和JDK创建并运行Java应用程序的步骤▲能够清晰完成地描述整个过程2、掌握Java程序的分类3、掌握保存、编译和运行Java程序的方法▲保存源文件的方法▲编译Java源程序所用命令和方法以及编译结果▲运行Java程序所用命令和方法第二章结构化程序设计1、掌握Java标示符的定义规则▲能判断出合法的标示符2、掌握Java中数据类型的分类和各种类型变量的定义方法▲能区分常见数据类型的种类▲会使用常见数据类型如float、int、boolean等定义变量3、掌握逻辑表达式的应用▲能判断相应表达式的值第三章面向对象程序设计1、掌握类的基本定义方法▲根据要求完成类的定义2、掌握构造函数和成员函数的定义方法▲构造函数的作用▲根据场景定义构造函数▲定义基本成员函数3、掌握封装特性▲理解类对成员的封装特性▲不同的访问控制符4、掌握继承特性▲类的继承定义▲可被继承成员与不能被继承成员5、理解函数的重载与覆盖6、掌握实现接口的方法第四章数组与字符串1、掌握数组的定义▲一维数组的定义方法▲数组元素、长度的应用方法2、掌握字符串的定义及应用▲字符串的分类String与StringBuffer两种▲每种字符串的特点▲每种字符串的定义方法3、理解数组与字符串的常用函数用法▲取字符串长度、字符串连接等操作第五章枚举与for语句的简化写法1、理解枚举数据类型第六章异常处理1、掌握异常处理方法(try…catch…finally)▲异常处理的原则▲异常处理语句的书写2、理解异常处理及各个语句块的含义▲ catch语句的特点▲ finally语句的特点第七章文件与数据流1、掌握读写文本文件和二进制文件的基本步骤▲能清晰完整地描述读写数据文件的步骤2、掌握常用的文件操作▲创建文件和目录的方法第八章Swing图形用户界面程序设计1、掌握图形用户界面程序设计的基本步骤▲能清晰完整地描述图形用户界面程序设计的步骤2、掌握界面设计的三层设计结构▲顶层容器内容、中间级容器和原子组件3、掌握框架、面板的应用▲理解框架和面板的应用场景4、掌握常用原子组件的使用▲标签、按钮、文本框、单选框的应用5、理解事件处理模型▲事件监听器第九章小应用程序1、掌握Java小程序与Java应用程序的区别▲能清晰完整地描述两者的区别2、掌握Java小程序的创建执行方法▲创建小程序类时的继承▲小程序的编译和运行方式▲嵌入到页面的方法3、掌握小程序的生命周期▲ init、start、stop、destroy▲能清晰完整地描述小程序的生命周期第十章编程规范和程序调试1、理解文档注释和调试程序第十一章多线程程序设计1、掌握多线程程序设计方法▲继承的方法和实现接口的方法▲能按要求创建线程类2、理解线程含义及生命周期▲ sleep、wait、start、stop等方法Java程序设计复习题一、单项选择题1、一个Java程序运行从上到下的环境次序是( C )A.操作系统、Java程序、JRE/JVM、硬件B.JRE/JVM、Java程序、硬件、操作系统C.Java程序、JRE/JVM、操作系统、硬件D.Java程序、操作系统、JRE/JVM、硬件2、下面哪些是合法的标识符。

java程序设计复习资料

java程序设计复习资料

java程序设计复习资料Java程序设计复习资料Java是一种广泛应用于软件开发领域的编程语言。

无论是初学者还是有一定经验的开发者,都需要不断复习和提升自己的Java编程能力。

本文将为大家提供一些Java程序设计的复习资料,帮助大家系统地回顾和巩固相关知识。

一、基础知识复习1. Java语言基础:复习Java的语法规则、关键字、数据类型、运算符等基础知识。

可以参考《Java核心技术卷一》等经典教材。

2. 面向对象编程:复习类、对象、继承、封装、多态等面向对象的基本概念和原则。

推荐阅读《Java编程思想》等相关书籍。

3. 异常处理:复习Java中的异常处理机制,包括异常类的继承关系、异常处理的语法和常见的异常类型。

可以参考《Java编程思想》等书籍中的相关章节。

4. 输入输出流:复习Java中的输入输出流操作,包括文件读写、网络通信等。

推荐学习《Java核心技术卷二》中的相关内容。

5. 集合框架:复习Java中的集合框架,包括List、Set、Map等常用集合类的使用方法和特点。

可以参考《Java编程思想》等书籍中的相关章节。

二、常用工具和框架复习1. 开发工具:复习Java开发中常用的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。

了解其基本使用方法和常见功能。

2. 版本控制工具:复习Git等版本控制工具的使用方法,包括代码提交、分支管理、合并等操作。

推荐学习《Pro Git》等相关资源。

3. 单元测试框架:复习JUnit等常用的单元测试框架,了解其基本使用方法和常见断言方法。

可以参考JUnit官方文档和相关教程。

4. Web开发框架:复习Spring、Spring MVC等常用的Java Web开发框架,了解其基本原理和使用方法。

推荐学习相关官方文档和教程。

5. 数据库操作:复习Java中与数据库交互的相关知识,包括JDBC的使用、SQL语句的编写等。

可以参考《Java核心技术卷一》中的相关章节。

java设计模式期末试题及答案

java设计模式期末试题及答案

java设计模式期末试题及答案一、单选题(共10题,每题2分,共计20分)1. 设计模式是一套用于解决软件设计问题的**经验**。

A) 规范B) 经验C) 原则D) 方法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) 模板方法模式二、简答题(共5题,每题4分,共计20分)1. 简要介绍工厂方法模式的核心思想及应用场景。

答:工厂方法模式的核心思想是定义一个用于创建对象的工厂接口,让子类决定实例化哪个类。

在工厂方法模式中,我们将对象的创建与使用分离开来,隐藏对象创建的细节。

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》期末考试复习资料

《JAVA设计模式》复习资料一、单项选择题1.设计模式起源于()A、机械设计B、建筑工程设计C、水利工程设计D、工业电力化设计2.“不要和陌生人说话”是()原则的通俗表述。

A、接口隔离B、里氏替换C、依赖倒置D、迪米特3.目前常见的设计模式主要有()种。

A、23B、21C、32D、284.以下关于单一职责原则的叙述不正确的是()。

A、单一职责原则的英文名称是Single Responsibility Principle.B、单一职责原则要求一个类只有一个职责C、单一职责原则有利于对象的稳定,降低类的复杂性D、单一职责原则提高了类之间的耦合性5.以下关于依赖倒置原则的叙述不正确的是()A、依赖倒置原则的简称是DIPB、高层模块不依赖于低层模块,低层模块依赖于高层模块C、依赖倒置原则中高层模块和低层模块都依赖于抽象D、依赖倒置原则实现模块间的松耦合6.下面关于单例模式说法错误的是()A、单例模式是指一个类只有一个实例B、单例类从实现方式上分为懒汉式和饿汉式C、单例类从功能上分为状态单例类和无状态单例类D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类7.下面关于工厂方法模式说法错误的是()。

A、工厂方法模式使一个类是实例化延迟到其子类中B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色C、工厂方法模式可以处理多个产品的多个等级结构D、工厂方法模式可以屏蔽产品类8.在以下情况不适合使用责任职责链模式()A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。

B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。

C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。

D、一个请求需要一系列的处理工作。

9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式A、结构型B、创建型C、行为型D、以上都可以10.以下用来描述适配器模式的是()A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

《JAVA程序设计》期末考试复习资料

《JAVA程序设计》期末考试复习资料

《JAVA程序设计》期末考试复习资料一、填空题1.定义类的保留字是( class ),定义接口的保留字是( interface )。

2.Socket通常也称为 (套接字 ),用于描述( IP地址 ) 和 ( 端口 )。

3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。

4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。

5.Java语言只允许单继承,指每个类只能有一个 ( 父类)。

6.Java源程序的扩展名是(.java ),经过编译后的程序的扩展名是( .class )。

7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。

访问临界资源的代码(临界代码 )。

8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。

1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。

2、Java程序中的单行注释符是(//),多行注释符是(/* */ )。

3、Java中布尔类型的常量有两种,它们是(true)和(false)。

4、Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。

5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。

6、在Java中定义一个字符串类型的变量str的语句是:(String str;),定义一个具有10个元素的整型数组a的语句是:(int [ ] r = new int[10];)。

7、导入mypackage包中的所类的命令是(import mypackage.*;)。

8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。

9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。

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

《JAVA设计模式》复习资料一、单项选择题1.设计模式起源于()A、机械设计B、建筑工程设计C、水利工程设计D、工业电力化设计2.“不要和陌生人说话”是()原则的通俗表述。

A、接口隔离B、里氏替换C、依赖倒置D、迪米特3.目前常见的设计模式主要有()种。

A、23B、21C、32D、284.以下关于单一职责原则的叙述不正确的是()。

A、单一职责原则的英文名称是Single Responsibility Principle.B、单一职责原则要求一个类只有一个职责C、单一职责原则有利于对象的稳定,降低类的复杂性D、单一职责原则提高了类之间的耦合性5.以下关于依赖倒置原则的叙述不正确的是()A、依赖倒置原则的简称是DIPB、高层模块不依赖于低层模块,低层模块依赖于高层模块C、依赖倒置原则中高层模块和低层模块都依赖于抽象D、依赖倒置原则实现模块间的松耦合6.下面关于单例模式说法错误的是()A、单例模式是指一个类只有一个实例B、单例类从实现方式上分为懒汉式和饿汉式C、单例类从功能上分为状态单例类和无状态单例类D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类7.下面关于工厂方法模式说法错误的是()。

A、工厂方法模式使一个类是实例化延迟到其子类中B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色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、动态地给一个对象添加一些额外的职责14.不应该强迫客户依赖于它们不用的方法,是关于( )的表述。

A、开-闭原则B、接口隔离原则C、里氏替换原则D、依赖倒置原则15.以下用来描述外观模式的是( )A、为子系统中的一组接口提供一个一致的界面,本模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

D、在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。

样以后就可将该对象恢复到原先保存的状态。

16.以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、动态地给一个对象添加一些额外的职责。

17.开闭原则的含义是一个软件实体()A、应当对继承开放,对实现关闭.B、应当对修改开放,对扩展关闭C、应当对扩展开放,对修改关闭D、以上都不对18.以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、运用共享技术有效地支持大量细粒度的对象。

19.以下哪个不属于设计模式的要素()A、模式名称B、问题C、因素D、环境20.以下不属于结构型模式的是()A、代理模式B、工厂方法模式C、适配器模式D、享元模式1-5 BDADB6-10 DCBBC 11-15 AADBA 16-20 BCCCB21.关于模式应用场景,在以下哪种情况适合使用组合模式()A、你想使用一个已经存在的类,而它的接口不符合你的需求。

B、当一个类的实例只能有几个不同状态组合中的一种时。

C、你想表示对象的部分-整体层次结构。

D、一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变行为。

22.Java的异常处理机制可理解为哪一种行为模式()A、观察者模式B、迭代器模式C、职责链模式D、策略(Strategy)模式23.当创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。

A、结构型B、创建型C、行为型D、以上都可以24.以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。

D、运用共享技术有效地支持大量细粒度的对象。

25.设计模式的两大主题是()A、系统的维护与开发B、对象组合与类的继承C、系统架构与系统开发D、系统复用与系统扩展26.要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是()的表述。

A、开闭原则B、接口隔离原则C、里氏替换原则D、依赖倒置原则27.以下意图哪个是用来描述桥梁模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、将抽象部分与它的实现部分分离,使它们都可以独立地变化。

C、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

D、动态地给一个对象添加一些额外的职责。

28.以下意图哪个是用来描述抽象工厂模式()A、提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、将一个类的接口转换成客户希望的另外一个接口。

D、表示一个作用于某对象结构中的各元素的操作。

29.开闭原则的含义是一个软件实体()A、应当对扩展开放,对修改关闭.B、应当对修改开放,对扩展关闭C、应当对继承开放,对修改关闭D、以上都不对30.对于违反里氏替换原则的两个类,可以采用的候选解决方案错误的是:()A、创建一个新的抽象类C,作为两个具体类的超类,将A和B共同的行为移动到C中,从而解决A和B行为不完全一致的问题。

B、将B到A的继承关系改组成委派关系。

C、区分是“Is-a”还是”Has-a”。

如果是“Is-a”,可以使用继承关系,如果是”Has-a”应该改成委派关系D、以上方案错误31.以下意图那个是用来描述ADAPTER(适配器)?()A、将一个类的接口转换成客户希望的另外一个接口,本模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

B、定义一个用于创建对象的接口,让子类决定实例化哪一个类。

C、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。

D、将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。

32.“不要和陌生人说话”是()原则的通俗表述。

A、接口隔离B、里氏替换C、依赖倒置D、迪米特33.以下关于创建型模式说法正确的是()A、创建型模式关注的是对象的创建B、创建型模式关注的是功能的实现C、创建型模式关注的是组织类和对象的常用方法D、创建型模式关注的是对象间的协作34.关于模式适用性,在以下情况不适合使用享元模式?()A、一个应用程序使用了大量的对象。

B、完全由于使用大量的对象,造成很大的存储开销。

C、对象的大多数状态都可变为外部状态。

D、你想使用一个已经存在的类,而它的接口不符合你的需求。

35.适配器模式是()原则的典型应用。

A、合成聚合复用原则B、里氏替换原则C、依赖倒置原则D、迪米特法则21-25.CCBBD 26-30.DBAAD 31-35.ADADA二、填空题1、设计模式分为____创建型___、____行为型_____、_____结构型______三大类型。

2、设计模式中的六个主要原则主要包括:单一职责原则、依赖倒置原则、___里氏替换原则____、____接口隔离原则___、迪米特法则和开闭原则。

3、设计模式中,对迪米特法则进行应用的设计模式有外观模式和____中介者模式_____。

4、__装饰模式____模式用于动态地给一个对象添加一些额外的职责。

5、___外观模式____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。

6、___桥梁模式___模式的定义是将抽象和现实解耦,使得两者可以独立地变化。

7、___观察者模式__模式定义对象间一种一对多的关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。

8、___行为____型模式主要用于描述对类或对象怎样交互和怎样分配职责。

9、组合模式属于___结构型____型模式、原型模式属于___创建型____型模式。

10、__模板方法__ 模式定义一个操作中的算法框架,将一些步骤延迟到子类中实现。

11、____装饰___ 模式用于动态地给一个对象添加一些额外的职责。

12、____外观____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。

13、____策略____模式定义一组算法,将每个算法封装起来,并且使它们之间可以互换。

14、___备忘录___模式捕获一个对象的内部状态,并在该对象之外保存这个状态,以后可以将该对象恢复到原先保存的状态。

15、____适配器___模式将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。

相关文档
最新文档