适配器模式

简介: 目的:原接口的参数等不满足现有条件,或者完全不同,同时不想改变原接口。优点:1.可以让任何两个没有关联的类一起运行 2。提高了类的复用,解决了现存类和复用环境要求不一致的问题缺点:增加了类的数量,增加了结构的复杂性。


目的:原接口的参数等不满足现有条件,或者完全不同,同时不想改变原接口。

优点:1.可以让任何两个没有关联的类一起运行

          2。提高了类的复用,解决了现存类和复用环境要求不一致的问题

缺点:增加了类的数量,增加了结构的复杂性。

类适配器:

适配器需要实现接口

类图:

image.png

代码:

 

新增的接口(想调用老接口)

1. interface Target
2. {
3. public void newMethod();
4. }

原有的接口

1. public interface OldMethod{
2. 
3. void oldMethod();
4. }

原有的接口实现

1. public class OldMethodImpl implements  OldMethod{
2. 
3.     @Override
4. public void oldMethodImpl() 
5.            {老方法,被调用");
6.     }
7. 
8. }

适配器

1. public class Adapter extends OldMethodImpl implements NewMethod{
2. 
3. @Override
4.     public void newMethod() {
5.         oldMethodImpl();
6.     }
7. 
8. }

调用

1. 
2. public class App {
3. 
4. public static void main(String[] args) {
5. 
6. Target target= new Adapter();
7.         target.newMethod();
8.     }
9. }

类适配器:

采用组合方式

类图:

image.png

代码:

适配器类

1. class ObjectAdapter implements Target
2. {
3. private OldMethodImpl oldMethodImpl ;
4. public ObjectAdapter(OldMethodImpl oldMethodImpl)
5.     {
6. this.oldMethodImpl=oldMethodImpl;
7.     }
8. public void newMethod()
9.     {
10.         oldMethodImpl.oldMethodImpl();
11.     }
12. }

调用

1. public class ObjectAdapterTest
2. {
3. public static void main(String[] args)
4.     {
5. OldMethodImpl oldMethodImpl = new OldMethodImpl();
6. Target target = new ObjectAdapter(adaptee);
7.         target.newMethod();
8.     }
9. }

 


相关文章
|
1月前
|
设计模式 Java
Java设计模式之适配器模式
这篇文章详细讲解了Java设计模式中的适配器模式,包括其应用场景、实现方式及代码示例。
46 0
|
3月前
|
Windows
|
6月前
|
设计模式 C++
结构型 适配器模式
结构型 适配器模式
39 0
|
6月前
|
设计模式
【适配器模式】—— 每天一点小知识
【适配器模式】—— 每天一点小知识
|
Java API
适配器模式的运用
适配器模式的运用
83 0
|
设计模式 数据库 C++
2023-6-15-第六式适配器模式
2023-6-15-第六式适配器模式
92 0
|
设计模式 前端开发
关于适配器模式我所知道的
关于适配器模式我所知道的
47 0
|
Java 程序员 API
结构型模式-适配器模式
结构型模式-适配器模式
89 0
|
设计模式
我学会了,适配器模式
适配器模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
99 0
我学会了,适配器模式
|
设计模式 Java
【玩转23种Java设计模式】结构型模式篇:适配器模式
适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。适配器模式属于结构型模式,主要分为三类:类适配器模式、对象适配器模式、接口适配器模式。
【玩转23种Java设计模式】结构型模式篇:适配器模式