24种设计模式-适配器设计模式

简介: 24种设计模式-适配器设计模式

1、概述


 顾名思义,就是适配合适的东西到自己身上,不合适多余的东西不需要。一个类在实现一个接口时,必须要实现接口中所有的方法,但是这个类可能只需要接口中的一个方法,如果全部实现那将会造成代码不美观,太冗余。


 就像承包一个工程,一个人如果处理工程的所有事情和流程,很容易把他累趴下,所有我们可以找出他擅长干的事情交给他,其余的工作再找适合这些工作的人处理,这样就提高了工作的效率。


2、示例代码


 A类通过适配器实现了适合自己的方法,B类通过适配器实现了适合自己的方法,不用实现接口中的所有方法,这就是适配器设计模式。


①A接口


public interface A {
    void m1();
    void m2();
    void m3();
    void m4();
    void m5();
    void v6();
}


②BAdapter.java(B类的适配器)


public abstract class BAdapter implements A{
    //适配B类的m1方法
    @Override
    public abstract void m1();
    @Override
    public void m2() {}
    @Override
    public void m3() {}
    @Override
    public void m4() {}
    @Override
    public void m5() {}
    @Override
    public void m6() {}
}


③CAdapter.java(C类的适配器)


public abstract class CAdapter implements A{
    @Override
    public void m1() {}
    //适配C类的m2方法
    @Override
    public abstract void m2();
    @Override
    public void m3() {}
    @Override
    public void m4() {}
    @Override
    public void m5() {}
    @Override
    public void m6() {}
}


④B.java


//B类只需继承适配器即可实现适合自己使用的方法
public class B extends BAdapter{
    @Override
    public void m1() {
        System.out.println("B类继承了适配器,只重写了m1方法。。。");
    }
}


⑤C.java


//C类只需继承适配器即可实现适合自己使用的方法
public class C extends CAdapter{
    @Override
    public void m2() {
        System.out.println("C类继承了适配器,只重写了m2方法。。。");
    }
}


⑥Test.java(测试类)


public class Test {
    public static void main(String[] args) {
        B b = new B();
        b.m1();
        C c = new C();
        c.m2();
    }
}


3、运行结果


0a2653c851af460fa595bd959398a8f1.png

相关文章
|
6月前
|
设计模式 API
【设计模式】适配器和桥接器模式有什么区别
【设计模式】适配器和桥接器模式有什么区别
159 1
|
6月前
|
设计模式 uml
设计模式-适配器模式(对象适配器)
设计模式-适配器模式(对象适配器)
41 0
|
设计模式 前端开发 Java
设计模式之适配器模式(类适配器、对象适配器、源码体现)
设计模式之适配器模式(类适配器、对象适配器、源码体现)
89 0
|
设计模式 API uml
设计模式-适配器
设计模式-适配器
63 0
|
设计模式 大数据
大数据开发基础的设计模式的适配器
适配器模式是大数据开发基础的设计模式之一。它是一种结构型模式,用于将一个类的接口转换成客户端所期望的另一个接口。适配器让原本由于接口不兼容而不能一起工作的类可以合作无间。
94 0
|
SQL 存储 设计模式
一看就懂的适配器设计模式
一般客户端通过目标类的接口访问它所提供的服务。有时,现有类可以满足客户端类的需要,但所提供接口不一定是客户端所期望的,可能因为现有类中方法名与目标类中定义的方法名不一致。
72 0
|
设计模式 前端开发
前端通用编程基础的设计模式之适配器
在前端开发中,我们常常需要对外部库或者组件进行使用和集成。但是这些库或者组件的接口可能并不符合我们自己的需求,这时候就需要使用适配器模式来实现接口的转换和兼容。
125 0
|
设计模式 前端开发 JavaScript
前端通用编程基础的设计模式之适配器
在前端开发中,我们经常需要处理各种数据格式和接口兼容性问题。为了解决这些问题,设计模式中的适配器模式可以帮助我们快速地将不兼容的接口转换成兼容的接口,使得代码更加简洁、可维护并且易于扩展。
123 0
|
设计模式 Java
浅析Java设计模式【2.2】——适配器
Java常用设计模式,适配器模式
87 0
浅析Java设计模式【2.2】——适配器
|
设计模式 C++
设计模式之适配器
设计模式之适配器
136 0
设计模式之适配器

热门文章

最新文章

  • 1
    C++一分钟之-设计模式:工厂模式与抽象工厂
    43
  • 2
    《手把手教你》系列基础篇(九十四)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-下篇(详解教程)
    50
  • 3
    C++一分钟之-C++中的设计模式:单例模式
    58
  • 4
    《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
    38
  • 5
    《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
    63
  • 6
    Java面试题:结合设计模式与并发工具包实现高效缓存;多线程与内存管理优化实践;并发框架与设计模式在复杂系统中的应用
    58
  • 7
    Java面试题:设计模式在并发编程中的创新应用,Java内存管理与多线程工具类的综合应用,Java并发工具包与并发框架的创新应用
    42
  • 8
    Java面试题:如何使用设计模式优化多线程环境下的资源管理?Java内存模型与并发工具类的协同工作,描述ForkJoinPool的工作机制,并解释其在并行计算中的优势。如何根据任务特性调整线程池参数
    50
  • 9
    Java面试题:请列举三种常用的设计模式,并分别给出在Java中的应用场景?请分析Java内存管理中的主要问题,并提出相应的优化策略?请简述Java多线程编程中的常见问题,并给出解决方案
    110
  • 10
    Java面试题:设计模式如单例模式、工厂模式、观察者模式等在多线程环境下线程安全问题,Java内存模型定义了线程如何与内存交互,包括原子性、可见性、有序性,并发框架提供了更高层次的并发任务处理能力
    78
  • 下一篇
    无影云桌面