java设计模式之Adapter模式 加个适配器以便于复用(1)
2017-05-09 23:55
543 查看
1.Adapter模式
分两种:类适配器模式(使用继承的适配器)
对象适配器模式(使用委托的适配器)
2.示例(1)(使用继承的适配器)
示例程序是将一段字符串hello显示为(hello)或是hello的简单程序。Banner类:有将字符串用括号括起来的showWithParen()和用星号将字符串括起来的showWithAster()。Banner相当于家用“实际”输入电压220V(不能满足手机充电的5V输入电压)。
Print接口:声明了两个方法,弱化字符串显示(加括号)的printWeak()和加强字符串显示(加星号)的printStrong()。Print接口相当于“需求”输入电压5V。
PrintBanner类:继承Banner类并实现Print接口。用showWithParen()实现printWeak(),用showWithAster()实现printStrong()。这样PrintBanner类就具有适配器功能了。
类图:
关系图:
Banner.java public class Banner{ private String string; public Banner(String string){ this.string = string } public void showWithParen(){ System.out.println("("+string+")"); } public void showWithAster(){ Syetem.out.println("*"+string+"*"); } }
Print.java
public interface Print{ public abstract void printWeak(); public abstract void printStrong(); }
PrintBanner.java
public class PrintBanner extends Banner implements Print{ public PrintBanner(Stirng string){ super(string); } public void printWeak(){ showWithParen(); } public void printString(){ showWithAster(); } }
Main
public class main{ public static void main(String[] args){ Print p = new PrintBanner("hello"); p.printWeak(); p.printStrong(); } }
运行结果:
(hello)
星hello星
这里将PrintBanner类的实例保存在了Print类型的变量中。在main中使用Print接口进行编程。对main而言,Banner类、showWithParen()和showWithAster()都被隐藏起来。就好像手机在5V下工作,并不知道实际上是220V。
敲黑板敲黑板
Main不知道PrintBanner是如何实现的,因此可以在部队Main进行修改的情况下改变具体实现。
相关文章推荐
- Java设计模式(2)Adapter模式 加个“适配器”以便于复用
- 设计模式(二)-适配器模式(Adapter Pattern)——加个“适配器”以便于复用
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式(三)Adapter(适配器),Bridge(桥接)
- Java设计模式透析之 —— 适配器(Adapter)
- JAVA设计模式系列之Adapter(适配器)-Java基础-Java-编程开发
- Java设计模式透析之 —— 适配器(Adapter)
- Java23种设计模式--Adapter(适配器)
- java 设计模式之适配器Adapter
- java中适配器设计模式(adapter)
- Java 设计模式 接口型模式 之 适配器Adapter模式
- JAVA设计模式(18) —适配器(Adapter)模式
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式透析之 —— 适配器(Adapter)
- [原]Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式透析之 —— 适配器(Adapter)
- Java设计模式之从[鼠标接口][星际争霸中的兵种行为]分析适配器(Adapter)模式