adapter 适配器
定义:
适配器模式:把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
示例:
比如,水货的手机充电器插头是欧美标准(大头插座),中国的插座是小的,如果要是充电器工作,必须有个转换插头(小插座不具备给大插头充电的功能),其功能和adapater相同。
其中,大充电器是目标类,小插座是被适配的对象,转换插头是适配器。
使用场合:
当需要已知类A和类B的功能,且类A和类B功能不完全满足要求,需要修改,但又不能修改A,B源码时,可将A,B类以继承和组合的方式引入适配器类中,然后直接使用适配器类来完成想要的功能。
public class test7 {public static void main(String[] args) {//client 客户端//使用适配器类给大插头充电 BigPlug bp=new SmallSocketAdapter(); bp.getElec(); }} //target//目标类,大插头需要充电class BigPlug{void getElec(){ System.out.println("我在大插座上充电"); }} //adaptee 被适配的对象//想要使用小插座这个类的充电的方法,但此方法的参数不符合要求,因此需要适配class SmallSocket{void supplyElecToSmallPlug(SmallPlug smallPlug){ System.out.println("我是小插座,小插头可以插上,充电中。。。"); }}class BigSocket{}class SmallPlug{} //adapter 适配器//通过它将大插头转换成小插头,以在小插座上充电class SmallSocketAdapter extends BigPlug{ SmallSocket ss=new SmallSocket();void getElec(){ SmallPlug sp=BigPlugToSmallPlug(this); ss.supplyElecToSmallPlug(sp); }private SmallPlug BigPlugToSmallPlug(BigPlug bigPlug) {//TODO 将转换为小插头 return null; }}
转载于:https://www.cnblogs.com/myparamita/archive/2011/10/10/2206488.html
adapter 适配器相关推荐
- android 之UI 高级控件Adapter(适配器详解)
了解适配器组件: 适配器是一个连接数据源和AdapterView的桥梁,通过它能有效的实现数据源与AdapterView的分离设置,使AdaptereView与数据的绑定更加简便,修改更加方便. Ad ...
- Adapter适配器和base-adapter-helper库的使用
文章目录 Adapter适配器 概述 关于视图重用 关于ViewHolder 使用步骤 base-adapter-helper库的使用 1.导入库 2.将库中的java文件复制到项目中 3.编译并解决 ...
- Android中使用Adapter(适配器)给RecycleView设置数据源
场景 RecyclerView RecyclerView是Android一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足.其可以实现数据纵向滚动,也 ...
- android中Adapter适配器的讲解
android中Adapter适配器的讲解 Adapter(适配器的讲解) 适配器就我自己来看,我觉得这是一个非常重要的知识点,Adapter是用来帮助填出数据的中间桥梁,简单点说吧:将各种数据以合适 ...
- Adapter适配器与具体应用
Adapter适配器与具体应用 一.Adapter介绍: 1.Adapter是什么:Adapter适配器是沟通数据与视图的桥梁,用于对要进行显示的数据进行处理, 并通过与视图对象的绑定从而将数据显示到 ...
- Android适配器以及作用,Android Studio:自定义Adapter(适配器)的一些通俗易懂的理解(以一个简单的聊天界面为例)...
本文是博主对Adapter(适配器)的一些理解,为了加深对Adapter的理解以及记录自己的阶段学习而写,同时也适合初学者阅读,参考本条博客的逻辑进行学习. 第一 先来看看实现这个程序需要需要创建哪 ...
- Android - Adapter 适配器
Android 适配器 本文介绍两个Adapter: ArrayAdapter:最简单的Adapter,只能展现一行文字. XML文件: <ListViewandroid:id="@+ ...
- Android Adapter适配器
Android Adapter适配器 Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View. Andr ...
- UI组件之AdapterView及其子类(一)三种Adapter适配器填充ListView
AdapterView的内容一般是包含多项相同格式资源的列表,常用的有5种AdapterView的子类: (1)ListView:简单的列表 (2)Spinner:下拉列表,给用户提供选择 (3)Ga ...
最新文章
- docker的网络架构配置
- 【转】提示框第三方库之MBProgressHUD iOS toast效果 动态提示框效果
- 让Android Studio代码提示不区分大小写的方法
- 详解GAN的谱归一化(Spectral Normalization)
- WSL——Linux C编程中lockf函数无效
- c++如何让字符串重复输出_python编程入门八:列表、元组、字符串的转换及补充方法...
- 第二:Pytest执行用例规则和Pycharm运行的三种姿态
- 华为进军美国受挫:竟被美运营商巨头临时放鸽子
- 国内外大数据经典案例研究
- 把Date类型的Fri Feb 01 00:00:00 CST 2019转换成yyyy-MM-dd格式
- 如何选择合适的无线网桥
- golang mysql 崩溃_使用GoLang与mysql连接失败
- python 答题卡识别_opencv+python机读卡识别整合版
- android手机或者平板重力感应器描述
- 职中计算机一级证,职中计算机等级一级考证教学网站的设计
- 计算机在食品上的应用论文,文字设计在食品包装设计中的运用论文
- 浅谈游戏开发中逻辑与表现的分离
- 图像去雾(image dehazing)近期论文简述及模型测试
- GCJ-02火星坐标系、BD-09百度坐标系和WGS-84坐标系转换
- office全家桶之excel(2019)
热门文章
- 进入hadoop_hadoop:伪分布模式参数配置指南
- 用别的表格中数据进行计算机,tusimpleBI 做的图表,别的电脑可以打开吗?
- linux 监控键盘,如何在Linux中使用“LogKeys”监视键盘敲键
- 计算机基础八进制和十六进制试题,计算机基础知识考试试题
- 渗透测试入门23之OSCP渗透测试认证经验分享
- 如何优化网站的响应时间
- oracle怎么查询模式名,oracle怎么查询数据库实例的三种方式
- confluence迁移后文件打不开_confluence和jira重启动后confluence启动报错,打不开网页...
- Angular.js学习-入门
- 基于bootstrap的后台左侧导航菜单和点击二级菜单刷新二级页面时候菜单展开显示当前菜单...