文档章节

java设计模式_适配器模式

王大叔爱编程
 王大叔爱编程
发布于 2013/03/29 14:43
字数 386
阅读 167
收藏 1

新手+菜鸟,入门设计模式,有什么不对的地方,请各位灌水。我表示灰常欢迎。废话少说,上代码。

一,类适配器

package com.wangbiao.test;


/**
 * 适配器模式,类适配器和对象适配器,适配器,将已经存在的东西转换为我们能用的东西,USB接口就是一个适配器
 * 已经存在一个特殊的功能,但是我的接口和实现类没有那个功能,并且我不想改变我的接口和实现类,可以采用适配器模式
 * 2013/03/29
 * @author WangBiao
 *
 */
public class ClassAdapter {

	
	public static void main(String[] args) {
		
		Target target=new Adapter();
		target.data_transfer();
		
	}
}


class Adaptee{
	
	public void charge(){
		System.out.println("I can charge for electric device");
	}
}

class Adapter extends Adaptee implements Target{
	
	public void data_transfer(){
		super.charge();
	}
}

interface Target{
	public void data_transfer();
	
}

class CommonFunction implements Target{
	public void data_transfer(){
		System.out.println("transfer data is ok");
	}
}

二,对象适配器

package com.wangbiao.test;

/**
 * 适配器模式,类适配器和对象适配器,适配器,将已经存在的东西转换为我们能用的东西,USB接口就是一个适配器
 * 已经存在一个特殊的功能,但是我的接口和实现类没有那个功能,并且我不想改变我的接口和实现类,可以采用适配器模式
 * 2013/03/29
 * @author WangBiao
 *
 */
public class ObjectAdapter {

	
	public static void main(String[] args) {
		
		Target_second target= new Adapter_second(new Adaptee_second());
		target.data_transfer();
	}
}

class Adaptee_second{
	
	public void charge(){
		System.out.println("I can charge for electric device");
	}
}

class Adapter_second implements Target_second{
	
	private Adaptee_second adaptee;
	public Adapter_second(Adaptee_second adaptee) {
		// TODO Auto-generated constructor stub
		this.adaptee=adaptee;
	}
	@Override
	public void data_transfer() {
		this.adaptee.charge();
	}
	
}

interface Target_second{
	public void data_transfer();
	
}

class CommonFunction_second implements Target_second{
	public void data_transfer(){
		System.out.println("transfer data is ok");
	}
}

© 著作权归作者所有

共有 人打赏支持
王大叔爱编程

王大叔爱编程

粉丝 34
博文 111
码字总数 61053
作品 0
成都
程序员
私信 提问
设计模式 2014-12-19

book: 阎宏《JAVA与模式》 架构设计栏目 http://blog.csdn.net/enterprise/column.html 概要: http://bbs.csdn.net/forums/Embeddeddriver 23种设计模式分别是: 1.单例模式 2.工厂方法模式...

jayronwang
2014/12/19
0
0
设计模式15——Template Method设计模式

Template Method模板方法设计模式定义一个操作中算法的骨架,将具体步骤的执行延迟到子类中实现。Java中的抽象类就是使用了模板方法设计模式。模板方法设计模式结构如下: 以文档处理为例,T...

小米米儿小
2014/01/24
0
0
简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

转载:原地址http://www.cnblogs.com/zhangchenliang/p/3700820.html 简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别 结合简单示例和UML图,讲解工厂模式简单原理。 一、引子 话说...

法斗斗
2018/05/08
0
0
策略模式与SPI机制,到底有什么不同?

这里说的策略模式是一种设计模式,经常用于有多种分支情况的程序设计中。例如我们去掉水果皮,一般来说对于不同的水果,会有不同的拨皮方式。此时用程序语言来表示是这样的: 如上面代码所写...

陈树义
2018/09/03
0
0
学了那么多年设计模式依然不会用!那可真蠢!

什么是设计模式? 设计模式(Design Pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决...

GitChat技术杂谈
2018/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

嵌入式应用选择合适的微控制器

为嵌入式应用选择微控制器有几个原因,即低成本,高集成度,增加可靠性,节省空间等。 准备所需硬件接口列表使用微控制器的基本硬件框图,准备一份微控制器需要支持的所有外设接口的列表。微...

linux-tao
42分钟前
4
0

中国龙-扬科
今天
2
0
使用apicloud开发移动端APP,IOS list页面滚动卡顿解决记录

给内容容器添加样式:-webkit-overflow-scrolling:touch; -webkit-overflow-scrolling:属性控制元素在移动设备上是否使用滚动回弹效果. auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即...

万建宁
今天
1
0
Akka消息传送可靠性 23

原文:https://doc.akka.io/docs/akka/2.5/general/message-delivery-reliability.html Akka可帮助您构建可靠的应用程序,这些应用程序在一台计算机中使用多个处理器核心或分布在计算机网络中...

woshixin
今天
3
0
composer安装

前言:随着开源的东西越来越多,一些好的代码我们是可以直接拿过来用的,github更是加快了这一节奏,在github上我们可以看到一些开源的项目、代码块、函数库、类结构等,我们可以直接Fork,然...

echojson
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部