JAVA设计模式期末考试复习资料
java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案1. 简答题1.1 什么是Java程序设计?答:Java程序设计是指使用Java编程语言进行软件开发的过程。
它包括了编写、测试和维护Java程序的各个步骤。
1.2 Java程序的开发环境有哪些?答:Java程序的开发环境包括Java Development Kit(JDK)、集成开发环境(IDE)等工具。
2. 编程题2.1 编写一个Java程序,实现两个整数相加的功能。
答:```javapublic class AddTwoNumbers {public static void main(String[] args) {int num1 = 5;int num2 = 10;int sum = num1 + num2;System.out.println("两个整数相加的结果为:" + sum);}}```2.2 编写一个Java程序,实现对一个整数数组进行冒泡排序。
答:```javapublic class BubbleSort {public static void main(String[] args) {int[] numbers = {5, 2, 8, 1, 9};int temp;for (int i = 0; i < numbers.length - 1; i++) {for (int j = 0; j < numbers.length - i - 1; j++) {if (numbers[j] > numbers[j+1]) {temp = numbers[j];numbers[j] = numbers[j+1];numbers[j+1] = temp;}}}System.out.println("冒泡排序后的数组为:");for (int number : numbers) {System.out.print(number + " ");}}}```3. 填空题3.1 Java中的访问修饰符有_____,______,______和______。
JAVA程序设计期末考试题(多套含答案)

《JAVA 程序设计》期末考试试题 (五)一、单选题1、当某一线程正处于休眠状态,而另一个线程用Thread 类中的interrupt() 方法中断它时,抛出的异常类型是( )。
A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException2、下面的程序段的功能是( )。
File file1=new File("d:\\xxx\\yyy\\zzz"); file1.mkdirs();A) 在当前目录下生成子目录:\xxx\yyy\zzz B) 生成目录:e:\xxx\yyy\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对3、应用程序的main 方法中有以下语句,则输出的结果是( )。
String s = "xxxxxxxxxxxxxxx#123#456#zzzzz";int n = s.indexOf("#");int k = s.indexOf("#", n+1); String s2 = s.substring(n+1, k);System.out.println(s2);A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz4、关于下面的程序Test.java说法正确的是()。
public class Test {String x="1";int y;public static void main(String args[]) { int z=2;System.out.println(x+y+z);}}A) 3 B)102 C) 12 D)程序有编译错误5、应用程序的main 方法中有以下语句,则输出的结果是int b[][]={{1, 1, 1}, {2,2}, {3}};int sum=0;for(int i=0; i<b.length; i++) {for(int j=0; j<b[i].length; j++) { sum+=b[i][j];}} System.out.println("sum="+sum);A) 10 B)6 C) 9 D) 136、应用程序的main 方法中有以下语句,则执行后输出的结果是int[] x ={125,21,5,168,98};int min = x[0];for (int i=1; i<x.length; i++){if(x[i] < min)min = x[i];}System.out.println(min);A) 125 B) 5 C) 98 D) 1687、应用程序的main 方法中有以下语句,则输出的结果是(Hashtable hashtable=new Hashtable(); hashtable.put("100","aaa");hashtable.put("200","bbb"); hashtable.put("300","ccc");System.out.println(hashtable.get("300").toString()+ hashtable.get("200").toString() +hashtable.get("100").toString()); A) aaa B) bbb C) ccc D) cccbbbaaa8、以下关于java 异常说法不正确的是( )。
java程序设计期末考试试题

java程序设计期末考试试题Java程序设计期末考试试题作为一门广泛应用的编程语言,Java在计算机科学领域扮演着重要的角色。
对于学习Java的学生来说,期末考试是一个重要的评估标准。
本文将探讨一些可能出现在Java程序设计期末考试中的试题,并提供一些解答思路和技巧。
一、基础知识题1. 请解释Java中的面向对象编程(OOP)是什么,并列举至少三个OOP的特性。
面向对象编程是一种编程范式,它将程序看作是一组对象的集合,每个对象都有自己的状态和行为。
Java是一种面向对象的编程语言,具有以下特性:封装、继承、多态。
2. 请解释Java中的继承和多态的概念,并给出一个实际的例子来说明。
继承是指一个类可以从另一个类继承属性和方法。
子类可以继承父类的属性和方法,并且可以在此基础上添加自己的属性和方法。
例如,有一个父类Animal,子类Dog可以继承父类的属性和方法,并且可以添加自己的方法,如bark()。
多态是指同一种类型的对象,执行同一个方法,可能会有不同的行为。
例如,有一个父类Shape,子类Circle和Rectangle都继承自Shape,它们都有一个方法calculateArea(),但是实现方式不同,因此调用calculateArea()方法时会根据对象的具体类型执行不同的行为。
二、编程题1. 编写一个Java程序,实现一个简单的计算器,要求能够进行加、减、乘、除四种运算。
```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); System.out.print("请输入第一个操作数:"); double num1 = scanner.nextDouble();System.out.print("请输入第二个操作数:"); double num2 = scanner.nextDouble();System.out.println("请选择运算符:");System.out.println("1. 加法");System.out.println("2. 减法");System.out.println("3. 乘法");System.out.println("4. 除法");int operator = scanner.nextInt();double result = 0;switch (operator) {case 1:result = num1 + num2;break;case 2:result = num1 - num2;break;case 3:result = num1 * num2;break;case 4:if (num2 != 0) {result = num1 / num2;} else {System.out.println("除数不能为0");}break;default:System.out.println("无效的运算符");break;}System.out.println("运算结果:" + result);}}```2. 编写一个Java程序,实现一个简单的学生信息管理系统,要求能够添加学生信息、查询学生信息和删除学生信息。
java程序设计期末考试试题汇总及答案

java程序设计期末考试试题汇总及答案# Java程序设计期末考试试题汇总及答案一、选择题(每题2分,共20分)1. 下列哪个不是Java的基本数据类型?- A. int- B. double- C. String- D. boolean答案:C2. Java中,哪个关键字用于定义类?- A. class- B. interface- C. package- D. enum答案:A3. 以下哪个是Java的异常处理关键字?- A. try- B. if- C. while- D. switch答案:A4. 在Java中,哪个方法用于获取字符串的长度? - A. length()- B. size()- C. count()- D. find()答案:A5. Java中的哪个关键字用于实现多态?- A. extends- B. implements- C. override- D. abstract答案:C6. 下列哪个是Java集合框架中的接口?- A. ArrayList- B. HashMap- C. List- D. Set答案:C7. 在Java中,哪个类提供了基本的输入输出功能? - A. System- B. Scanner- C. Console- D. BufferedReader答案:A8. 下列哪个是Java的访问控制修饰符?- A. public- B. static- C. final- D. volatile答案:A9. 在Java中,哪个关键字用于定义一个接口? - A. class- B. interface- C. package- D. enum答案:B10. Java中,哪个关键字用于创建线程?- A. thread- B. runnable- C. extends- D. implements答案:B二、简答题(每题10分,共30分)1. 简述Java中的封装、继承和多态的概念。
java程序设计期末考试题及答案

java程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个类是所有Java类的根类?A. ObjectB. SystemC. StringD. Math答案:A3. 下列哪个数据类型是Java中的原始数据类型?A. StringB. IntegerC. intD. ArrayList答案:C4. 在Java中,哪个关键字用于定义一个方法?A. functionB. methodC. defD. void5. 下列哪个选项是Java中的合法标识符?A. 2variableB. variable2C. $variableD. variable-答案:B6. 在Java中,哪个关键字用于实现多态?A. extendsB. implementsC. overrideD. abstract答案:A7. Java中的集合框架中,哪个接口提供了添加和删除元素的方法?A. ListB. SetC. MapD. Queue答案:A8. 在Java中,下列哪个关键字用于抛出异常?A. tryB. catchC. throwD. finally答案:C9. Java中,哪个关键字用于声明一个线程?B. runnableC. synchronizedD. volatile答案:B10. 在Java中,下列哪个选项是正确的字符串连接操作?A. "Hello" + 5B. "Hello" + "World"C. 5 + "Hello"D. "Hello" * 3答案:B二、填空题(每题2分,共20分)1. Java中的________关键字用于声明一个接口。
答案:interface2. 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则执行循环语句;否则将不执行循环语句。
2024JAVA期末复习提纲

2024JAVA期末复习提纲一、Java基础知识1. Java的发展历程和特点2. Java的编译与运行过程3. Java开发环境的搭建4. Java基本语法和语句5.数据类型和变量6.运算符和表达式7.流程控制语句8.数组和字符串9.类和对象10.方法和函数11.异常处理12.输入输出流13.类的继承和接口的使用二、面向对象编程1.面向对象编程的基本概念和特点2.类与对象的关系3.类的成员变量和成员方法4.封装、继承和多态5.抽象类和接口的使用6.类的组合和关联7.内部类和匿名类的使用三、集合框架和泛型1.集合框架的基本概念和作用2.集合框架中的集合类和接口3. ArrayList、LinkedList、HashMap的使用4.迭代器和遍历集合5.泛型的概念和使用6.自定义泛型类和泛型方法四、多线程编程1.进程和线程的概念2.线程的创建和运行3.线程的同步和协作4.线程的基本方法和常用类5.线程池的使用五、网络编程1.网络编程的基本概念和原理2. Socket编程3.客户端和服务器的交互4. URL和URLConnection的使用5. HTTP协议和Servlet编程六、数据库编程1.数据库的基本概念和原理2.JDBC的概念和使用3.数据库的连接和操作4.SQL语句的编写和执行5.数据库事务的处理七、图形用户界面编程1. AWT和Swing的概念和特点2.GUI组件的使用3.事件处理和监听器4.布局管理器的使用5.图形界面设计和实现八、Web开发1.HTML和CSS的基本概念2. JavaScript的应用3. JSP和Servlet的概念和使用4.MVC设计模式5. Web应用的部署和调试以上是2024JAVA期末复习的提纲,按照这个提纲复习,应该能够对Java的基础知识、面向对象编程、集合框架和泛型、多线程编程、网络编程、数据库编程、图形用户界面编程和Web开发有一个较全面的了解。
希望能对你的复习有所帮助,祝你考试顺利!。
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. 简要介绍工厂方法模式的核心思想及应用场景。
答:工厂方法模式的核心思想是定义一个用于创建对象的工厂接口,让子类决定实例化哪个类。
在工厂方法模式中,我们将对象的创建与使用分离开来,隐藏对象创建的细节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《JAVA设计模式》复习资料一、单项选择题1.设计模式起源于()A、机械设计B、建筑工程设计D、工业电力化设计C、水利工程设计2.“不要和陌生人说话”是()原则的通俗表述。
B、里氏替换、接口隔离C、依赖倒置D、迪米特A3.目前常见的设计模式主要有()种。
、28、B23 A、、21C32D4.以下关于单一职责原则的叙述不正确的是()。
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.以下不属于结构型模式的是()B、工厂方法模式、享元模式C、适配器模式 DA、代理模式6-10 DCBBC 1-5 BDADB11-15 AADBA 16-20 BCCCB21.关于模式应用场景,在以下哪种情况适合使用组合模式()A、你想使用一个已经存在的类,而它的接口不符合你的需求。
B、当一个类的实例只能有几个不同状态组合中的一种时。
C、你想表示对象的部分-整体层次结构。
D、一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变行为。
22.Java的异常处理机制可理解为哪一种行为模式()A、观察者模式B、迭代器模式D、策略( Strategy C、职责链模式)模式23.当创建一个具体的对象而又不希望指定具体的类时,可以使用()模式。
A、结构型B、创建型C、行为型D、以上都可以24.以下哪个用来描述建造者模式()A、定义一个用于创建对象的接口,让子类决定实例化哪一个类B、将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
C、保证一个类仅有一个实例,并提供一个访问它的全局访问点。
D、运用共享技术有效地支持大量细粒度的对象。
25.设计模式的两大主题是()A、系统的维护与开发B、对象组合与类的继承D、系统复用与系统扩展C、系统架构与系统开发26.要依赖于抽象,不要依赖于具体,即针对接口编程,不要针对实现编程,是()的表述。
B 、接口隔离原则A、开闭原则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、里氏替换原则D、迪米特法则、依赖倒置原则C31-35.ADADA21-25. CCBBD 26-30.DBAAD二、填空题1、设计模式分为____创建型___、____行为型_____、_____结构型______三大类型。
2、设计模式中的六个主要原则主要包括:单一职责原则、依赖倒置原则、___里氏替换原则____、____接口隔离原则___、迪米特法则和开闭原则。
3、设计模式中,对迪米特法则进行应用的设计模式有外观模式和____中介者模式_____。
4、__装饰模式 ____模式用于动态地给一个对象添加一些额外的职责。
5、___外观模式____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。
6、___桥梁模式___模式的定义是将抽象和现实解耦,使得两者可以独立地变化。
7、___观察者模式__模式定义对象间一种一对多的关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
8、___行为____型模式主要用于描述对类或对象怎样交互和怎样分配职责。
9、组合模式属于___结构型____型模式、原型模式属于___创建型____型模式。
10、__模板方法__ 模式定义一个操作中的算法框架,将一些步骤延迟到子类中实现。
11、____装饰___ 模式用于动态地给一个对象添加一些额外的职责。
12、____外观____模式要求一个子系统的外表与其内部的通信必须通过一个统一的对象进行。
模式定义一组算法,将每个算法封装起来,并且使它们之间可以互换。
____策略____、13.14、___备忘录___模式捕获一个对象的内部状态,并在该对象之外保存这个状态,以后可以将该对象恢复到原先保存的状态。
15、____适配器___模式将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。