📄 f07ea4331e75001d1dddb6604daa6ad2
字号:
//【例4-30】 适配器的组合实现方式。
//程序清单4-30: ObjectAdapterDemo.java
package e4_30;
import java.util.*;
public class ObjectAdapterDemo {// 主类
public static void main(String[] args) {
ObjectAdapter oa = new ObjectAdapter();
oa.output(oa.input());
}
}
// ①目标适配器接口,有两个方法
interface TargetOutInInterface {
void output(String name);// 输出方法
String input();// 输入方法
}
interface AdaptedOutInterface {// ②被转换接口,只有一个方法
public void output(String name);
}
// ③被适配者,只有一个方法
class AdaptedOut implements AdaptedOutInterface {
public void output(String name) {// 只有一个输出方法
System.out.print("Your name is " + name);
}
}
// ④以组合方式创建类AdaptedOut的适配器ObjectAdapter
class ObjectAdapter implements TargetOutInInterface {
private String name;
// 类ClassAdapter与接口AdaptedOutInterface是组合关系
private AdaptedOutInterface adaptedOut;
public ObjectAdapter() {// 构造方法
this.adaptedOut = new AdaptedOut();
}
// 实现接口TargetOutInInterface中的抽象方法
public void output(String name) {
adaptedOut.output(name);
}
// 实现接口TargetOutInInterface中的抽象方法
public String input() {
System.out.println("Please input your name:");
Scanner sin = new Scanner(System.in);
name = sin.next();
return name;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -