适配器模式(Java)
下面是关于我所写的所有设计模式代码(还是建议自己手打或者想一个别的例子练习一次)
(https://github.com/lihang212010/DesignPatterns-/tree/master/designpatterns/src)
先来张官方UML
下面是我这个例子的UML
中国人是独立的一个类,外国人也是一个类,他们的你好是不同的语言,外国人需要听懂中国人的你好,他们需要把中国人的你好和外国人子类有联系,这时候需要一个翻译者,这个属于外国人的翻译者成功的把2个不相关的类联系在一起。
在计算机编程中,适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
他的作用其实就有点像翻译者,他用于复用一些类,比如Adapter,这个适配器在java和安卓,C#等多数编程语言都会出现,它就是一个明显的适配器模式应用。
代码如下
外国人
public interface Interface {
void hello();
}
美国人
public class American implements Interface {
@Override
public void hello() {
System.out.println("Hi");
}
}
翻译者
public class Translator implements Interface {
private Chinese chinese;
public Translator() {
chinese=new Chinese();
}`在这里插入代码片`
@Override
public void hello() {
chinese.你好();
}
}
中国人
public class Chinese {
public void 你好() {
System.out.println("你好");
}
}
主方法
public class Main {
public static void main(String[] args) {
Interface a=new American();
a.hello();
a=new Translator();
a.hello();
}
}
结果