Java设计模式—-适配器模式
发表于更新于
字数总计:375阅读时长:1分钟 上海
后端后端Java设计模式—-适配器模式
xukun在我们编程过程中,经常会出现一种情况,就是现有的代码没办法直接使用,需要做一些适当的变换,来适配原有的程序,所以叫做适配器模式,或者包装器模式。
1.1 定义Print接口
接口定义两个抽象方法输出字符串
1 2 3 4
| public interface Print { abstract public void PrintWeak(); abstract public void PrintStrong(); }
|
1.2 定义Banner类
此类定义要打印的字符串及其构造方法, 定义了两个函数打印不同的字符串
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| public class Banner { private String name;
public Banner(String name) { this.name = name; }
public void showWithParen() { System.out.println("(" + name + ")"); }
public void showWithAster() { System.out.println("*" + name + "*"); } }
|
1.3 定义PrintBanner类
这个类就是一个适配器,它继承了Banner类以及方法,实现了Print接口也重写了方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| public class PrintBanner extends Banner implements Print {
public PrintBanner(String name) { super(name); }
@Override public void PrintWeak() { showWithParen(); }
@Override public void PrintStrong() { showWithAster(); } }
|
1.4 测试代码
这里用Print类型的变量来保存PrintBanner的实例,因为我们无需在意Banner类的方法。
1 2 3 4 5 6 7 8 9
| public class RunMain { public static void main(String[] args) { Print print = new PrintBanner("Hello");
print.PrintStrong(); print.PrintWeak(); } }
|
1.5 总结
现如今,软件的更新换代很快,常常会出现新版本和旧版本的适配问题,适配器模式对于维护新版本起到了很大的作用。