设计思路
参与角色及其解释
1.Target(目的对象):
该角色定义转换的结果。
2.Adaptee(源对象)
该角色实现被适配的对象
3.Adapter(适配器)
该角色实现从源对象到目标对象的转换
4.Client(请求者)
该角色使用转换后的结果
类适配器
对象适配器
代码演示
公共类
源对象
public class Banner {
private String string;
public Banner(String string) {
this.string = string;
}
public void showWithParen() {
System.out.println("(" + string + ")");
}
public void showWithAster() {
System.out.println("*" + string + "*");
}
}
主类
public class Main {
public static void main(String[] args) {
Print p = new PrintBanner("Hello");
p.printWeak();
p.printStrong();
}
}
类适配器
目标对象
public interface Print {
void printWeak();
void printStrong();
}
适配器
public class PrintBanner extends Banner implements Print {
public PrintBanner(String string) {
super(string);
}
@Override
public void printWeak() {
showWithParen();
}
@Override
public void printStrong() {
showWithAster();
}
}
对象适配器
目标对象
public abstract class Print {
public abstract void printWeak();
public abstract void printStrong();
}
适配器
public class PrintBanner extends Print {
private Banner banner;
public PrintBanner(String string) {
this.banner = new Banner(string);
}
@Override
public void printWeak() {
banner.showWithParen();
}
@Override
public void printStrong() {
banner.showWithAster();
}
}