当前位置: 首页 > article >正文

设计模式4 适配器 (adapter)

一句话,适配器按照客户的需求,    适配当前已有的接口。

目标接口:reqeust()

public interface Target {
    void request();  //this is client needed interface
}

已有接口:specificRequest

package com.example.adapter;

import android.util.Log;

public class Adaptee {
    public void specificRequest(){
        Log.d ("LIU","that is Adaptee specificRequest");
    }
}

两者的接口功能是一样的,但是需要将已有的接口 适配成符合客户要求的新接口。

public class Adapter implements Target {
    private Adaptee adaptee;
    public Adapter(Adaptee adaptee) {   //对象适配器模式,传入对象,并调用对象的 接口
        this.adaptee = adaptee;
    }

    @Override
    public void request() {
        adaptee.specificRequest();
    }
}

调用实现:

        Adaptee adaptee = new Adaptee();
        Adapter adapter = new Adapter(adaptee);
        adapter.request();

结果:

2024-10-22 23:05:26.770 12570-12570/com.example.adapter D/LIU: that is Adaptee specificRequest

参考:百度安全验证


http://www.kler.cn/news/367893.html

相关文章:

  • MYSQL作业三
  • 力扣 中等 740.删除并获得点数
  • python构建flask服务用于视频文件的处理后返回
  • C语言程序设计:现代设计方法习题笔记《chapter5》下篇
  • 【Linux | 网络I/O模型】五种网络I/O模型详解
  • 在Selenium中有哪些元素对象操作方法?( ̄﹃ ̄)
  • 数据结构图的应用-关键路径(有向图+邻接表存储结构+C语言代码)-附带终端输入+图片
  • jaavascript使用正则表达式校验字符串pwd,是否符合 包含大写小写数字特殊字符长度超过8位
  • 【AI日记】24.10.27
  • Git合并多个分支中的提交内容
  • 基于SSM+微信小程序的跑腿管理系统(跑腿1)
  • Excel技巧:Excel文件批量提取文件名
  • 【Chapter 4】因果推断中的线性回归和正交化
  • 《Redis实战》note-10 扩展Redis
  • 【MySQL】C语言连接MySQL数据库2——基本API的学习
  • 手把手教——class1_VScode配置C++环境
  • 大粤金融智能交易系统的创新与应用
  • FPGA 蜂鸣器 音乐播放器
  • 【Docker命令】日常使用的Docker命令
  • Pandas库学习Day21
  • javaWeb项目-ssm+vue高校网课管理系统功能介绍
  • Cursor零基础小白教程系列 - 创建你的第一个Cursor 项目
  • CSS伪元素以及伪类和CSS特性
  • 获 Sei 基金会投资的 MetaArena :掀起新一轮链上游戏革命
  • Adam优化器算法详解
  • 【C++复习】第二弹-内存管理