适配器模式

简介: 目的:原接口的参数等不满足现有条件,或者完全不同,同时不想改变原接口。优点: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. }

 


相关文章
|
9天前
|
设计模式
适配器模式
​ 如有错误或有补充,以及任何改进的意见,请留下您的高见 概念 适配器模式是一种结构型设计模式,它可以将一个类的接口转换成客户端所期望的另一个接口,从而使得原本由于接口不兼容而不能一起工作的两个类能够协同工作。 适配器模式中的角色包括目标接口(Target)、需要适配的类(Adaptee)和适配器(Adapter)。目标接口是客户端所期望的接口,需要适配的类是需要被适配的类或适配者类,适配器则是将需要适配的类的接口转换成目标接口的实现类。         源(Adaptee):这个角色通常是一个已经存在的类或者接口,其方法或行为与客户端所期望的不完全一致。源角色定义了需要被适配的接口,这
14 0
|
4月前
|
设计模式 C++
结构型 适配器模式
结构型 适配器模式
16 0
|
4月前
|
设计模式
【适配器模式】—— 每天一点小知识
【适配器模式】—— 每天一点小知识
|
7月前
|
Java API
适配器模式的运用
适配器模式的运用
51 0
|
8月前
|
设计模式 数据库 C++
2023-6-15-第六式适配器模式
2023-6-15-第六式适配器模式
67 0
|
10月前
|
设计模式 前端开发
关于适配器模式我所知道的
关于适配器模式我所知道的
34 0
|
11月前
|
Java 程序员 API
结构型模式-适配器模式
结构型模式-适配器模式
70 0
|
设计模式
我学会了,适配器模式
适配器模式属于结构型模式,这个类型的设计模式总结出了 类、对象组合后的经典结构,将类、对象的结构和使用解耦了,花式的去借用对象。
78 0
我学会了,适配器模式
|
设计模式 Java Spring
适配器模式详解与应用
引用一个最经典的例子,我们自己家里的电压都是220V的,而早期的手机充电时所用的都是5V的电压。要想让手机在220V的家庭电压下充电,就需要一个电源适配器。在编程中,也经常会出现一个类程序无法直接去使用,而需要通过适当变换的行为抽象出来的设计模式就是适配器模式。
|
设计模式
适配器模式与桥接模式(3)
适配器模式与桥接模式(3)
83 0