80d0d1331e75001d1dddb6604daa6ad2
来自「java程序设计教程的源码」· 代码 · 共 45 行
TXT
45 行
//【例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 + =
减小字号Ctrl + -
显示快捷键?