广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java 设计模式之适配器模式详解
  • 448
分享到

Java 设计模式之适配器模式详解

2024-04-02 19:04:59 448人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录定义结构图使用场景代码实现Java代码实现python代码实现定义 适配器将一个类的接口,转换成客户期望另一个接口。适配器让原本不兼容的类可以合作无间 结构图 如图所示,两脚插

定义

适配器将一个类的接口,转换成客户期望另一个接口。适配器让原本不兼容的类可以合作无间

结构图

在这里插入图片描述

如图所示,两脚插头如何能插入三脚插座,可以在中间加一个适配器进行转换,就能实现两脚插头能插入三脚插座。

使用场景

  • 新的代码兼容旧的代码
  • 使用别人好的代码到自己的代码中

代码实现

适配器模式有:对象适配器和类适配器

Java代码实现

java没有多继承,只能实现对象适配器
先创建两个接口


// 适配目标接口
public interface Target{
	public void aaa();
}

// 适配者接口
public interface Adaptee{
	public void bbb();
}

实现这两个接口


public class Targetimpl implements Target{
	public void aaa(){
		System.out.printnln("Target")
	}
}

public class Adapteeimpl implements Adaptee{
	public void bbb(){
		System.out.printnln("Adaptee")
	}
}

制作适配器
需要实现要适配成什么接口,需要实现什么接口


public class Adapter implements Target{
	Adaptee adaptee;
	public Adapter(Adaptee adapter){
		this.adaptee = adaptee;
	}
	public void aaa(){
		adaptee.bbb()
	}
}

public class Run{
	public static void main(String[] args){
		Adaptee adaptee = new Adatee();
		Target target = new Targetimpl();
		Target adapter = new Adapter(target);
		adaptee.aaa();
		target.bbb();
		adapter.aaa();
	}
}

运行结果:

Target
Adaptee
Adaptee

Python代码实现

Python可以实现对象适配器和类适配器

这是对象适配器


# 适配目标
class Target(object):
    def aaa(self):
        print("Target")
# 被适配者
class Adaptee(object):
    def bbb(self):
        print("Adaptee")

# 这是适配器
class Adapter(Target):
    def __init__(self, Adaptee):
        self.Adaptee = Adaptee
        
    def aaa(self):
        self.Adaptee.bbb()

target = Target()
adaptee = Adaptee()
adapter = Adapter(adaptee)
target.aaa()
adaptee.bbb()
adapter.aaa()

运行结果:

Target
Adaptee
Adaptee

这是类适配器


class Target(object):
    def aaa(self):
        print("Target")

class Adaptee(object):
    def bbb(self):
        print("Adaptee")

class Adapter(Target, Adaptee):
    def aaa(self):
        self.bbb()

target = Target()
adaptee = Adaptee()
adapter = Adapter()
target.aaa()
adaptee.bbb()
adapter.aaa()

运行结果:

Target
Adaptee
Adaptee

到此这篇关于Java 设计模式之适配器模式详解的文章就介绍到这了,更多相关Java 设计模式内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java 设计模式之适配器模式详解

本文链接: https://www.lsjlt.com/news/156726.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java 设计模式之适配器模式详解
    目录定义结构图使用场景代码实现Java代码实现Python代码实现定义 适配器将一个类的接口,转换成客户期望另一个接口。适配器让原本不兼容的类可以合作无间 结构图 如图所示,两脚插...
    99+
    2022-11-12
  • java 设计模式之适配器模式的详解
    java 设计模式之适配器模式的详解前言:      适配器模式(Adapter Pattern)又叫做变压器模式,也叫做包装模式。包装模式还包括装饰模式。  ...
    99+
    2023-05-31
    java 适配器 ava
  • Java设计模式--适配器模式详解
    目录定义结构示例扩展总结定义 适配器模式用于解决接口间的兼容问题。 当我们需要使用某个类提供的接口,但是这个接口与现在的系统需求不符,由于该接口是由第三方提供的,或者是已经在生产上跑...
    99+
    2022-11-12
  • Java设计模式之适配器模式
    本文通过老王使用纸质书籍阅读小王使用电子书籍的故事,详细说明设计模式中的结构型设计模式之适配器模式,分别对对象适配器和类适配器代码实现,最后为了加深理解,会列举适配器设计模式在JDK...
    99+
    2022-11-13
  • Java设计模式之适配器模式的示例详解
    目录定义分类案例需求方案一:类适配器方案二:对象适配器方案三:接口适配器对比分析方案一:类适配器方案二:对象适配器方案三:接口适配器总结 定义 适配器模式,即将某个类的接口转换成客户...
    99+
    2022-11-13
  • Java结构型设计模式之适配器模式详解
    目录适配器模式分类应用场景优缺点主要角色类适配器创建目标角色(Target)创建源角色(Adaptee)创建适配器(Adapter)客户端调用对象适配器创建目标角色(Target)创...
    99+
    2022-11-13
  • Golang设计模式之适配器模式详细讲解
    目录适配器模式概念示例适配器模式 适配器是一种结构型设计模式, 它能使不兼容的对象能够相互合作。 适配器可担任两个对象间的封装器, 它会接收对于一个对象的调用, 并将其转换为另一个对...
    99+
    2023-01-11
    Go适配器模式 Go设计模式
  • 深入理解Java设计模式之适配器模式
    目录一、什么是适配器模式二、适配器模式的结构三、适配器模式的使用场景四、适配器模式的优缺点五、适配器模式的实现1.类适配器模式2.对象适配器模式六、适配器模式的.NET应用总结一、什...
    99+
    2022-11-12
  • java设计模式之浅谈适配器模式
    目录一、结构型模式二、适配器模式三、什么是适配器模式?四、角色分析五、对象适配器有哪些优点六、类适配器缺点七、使用场景一、结构型模式 结构型模式有什么好处? 从程序的结构上实现松耦合...
    99+
    2022-11-12
  • JavaScript设计模式之原型模式和适配器模式示例详解
    目录原型模式原型模式介绍代码实现适配器模式适配器模式介绍代码实现小结原型模式 原型模式介绍 原型模式是指原型实例指向创建对象的种类,并通过拷贝这些原型创建新的对象,是一种用来创建对象...
    99+
    2022-11-13
  • Android设计模式之适配器(Adapter)模式
    本文实例为大家分享了Android适配器模式源码,供大家参考,具体内容如下 1. 模式介绍 1.1模式的定义:   适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而...
    99+
    2022-06-06
    adapter Android
  • Java设计模式解析之适配器模式怎么实现
    本篇内容介绍了“Java设计模式解析之适配器模式怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、什么是适配器模式:适配器模式主要用...
    99+
    2023-06-30
  • Java设计模式之java解释器模式详解
    目录介绍角色计算器案例UML图深入挖掘构建的语法树解释器模式总结解释器模式的典型应用Spring EL表达式中的解释器模式参考文章总结介绍 解释器模式(Interpreter Pat...
    99+
    2022-11-12
  • Java设计模式中的适配器模式
    目录基本介绍工作原理类适配器模式对象适配器模式接口适配器模式适配器模式的注意事项和细节基本介绍 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口...
    99+
    2022-11-13
  • JavaScript设计模式学习之适配器模式
    目录概述代码实现总结概述 适配器模式是设计模式行为型模式中的一种模式; 定义: 适配器用来解决两个已有接口之间不匹配的问题,它并不需要考虑接口是如何实现,也不用考虑将来该如何修改;适...
    99+
    2022-11-12
  • Java设计模式之java迭代器模式详解
    目录前言介绍角色迭代器模式中的工厂模式学院遍历的案例分析解决方案基本介绍原理类图上面案例的类图案例实现代码案例总结应用实例Java集合中的迭代器模式角色说明Mybatis中的迭代器模...
    99+
    2022-11-12
  • Java设计模式之java状态模式详解
    目录状态模式的结构状态模式的角色 示例代码适用场景投票案例认识状态模式状态和行为行为的平行性环境和状态处理对象状态模式优点状态模式的缺点状态模式和策略模式对比参考文章 总结...
    99+
    2022-11-12
  • Java设计模式之java策略模式详解
    目录为什么使用策略模式?策略模式包含角色策略模式的类图排序案例策略模式的优点策略模式的缺点适用场景源码分析策略模式的典型应用Java Comparator 中的策略模式参考文...
    99+
    2022-11-12
  • Java设计模式之java命令模式详解
    目录命令模式的介绍角色订单案例命令模式的优点适用场景示例代码应用宏命令----执行一组命令示例代码总结JDK源码解析 Runable是一个典型命令模式,Runnable担当命令的角色...
    99+
    2022-11-12
  • Java设计模式之java桥接模式详解
    目录一、什么是桥接模式:二、UML结构图:三、代码实现:四、JDBC源码解析-桥接模式:1、源码分析:2、源码类图:3、对 JDBC 的观点:参考博客:总结一、什么是桥接模式: 桥接...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作