10月30日
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解适配器模式的动机,掌握该模式的结构;
2、能够利用适配器模式解决实际问题。
[实验任务一]:双向适配器
实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
实验内容:
1. 类图

2. 源代码
package org.example;
//使用实例
public class Program {
public static void main(String[]
args) {
DogTarget dog = new
ConcreteDog();
CatTarget cat = new
ConcreteCat();
dog.cry();
cat.catchMouse();
Adapter adapter = new
Adapter(dog, cat);
adapter.catchMouse();
adapter.cry();
}
}
interface DogTarget {
void cry();
}
interface CatTarget {
void catchMouse();
}
class ConcreteDog implements DogTarget {
@Override
public void cry() {
System.out.println("汪汪汪..");
}
}
class ConcreteCat implements CatTarget {
@Override
public void catchMouse() {
System.out.println("会抓老鼠!");
}
}
//双向适配器
class Adapter implements DogTarget, CatTarget {
private CatTarget cat;
private DogTarget dog;
public Adapter(DogTarget dog, CatTarget
cat) {
this.dog = dog;
this.cat = cat;
}
@Override
public void cry() {
cat.catchMouse();
}
@Override
public void catchMouse() {
dog.cry();
}
}
3. 运行截图


浙公网安备 33010602011771号