文档章节

设配器设计模式

来来来过来挨到我坐
 来来来过来挨到我坐
发布于 2016/01/27 14:23
字数 203
阅读 5
收藏 0

适配器模式(Adapter):将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

package com.main;

//适配器模式
public class AdapterDesignPattern {

	public static void main(String[] args) {
		PowerA powerA = new PowerAImpl();
		input(powerA);

		System.out.println("---------------");

		PowerB powerB = new PowerBImpl();
		// input(powerB);//不能用,因为input()方法只能接受PowerA接口
		PowerAdapter powerAdapter = new PowerAdapter(powerB);
		input(powerAdapter);
	}

	public static void input(PowerA powerA) {
		powerA.connect();
	}
}

// 适配器,可以适配电源A的适配器
class PowerAdapter implements PowerA {
	private PowerB powerB;

	public PowerAdapter(PowerB powerB) {
		this.powerB = powerB;
	}

	@Override
	public void connect() {
		powerB.insert();
	}
}

interface PowerB {
	public void insert();
}

class PowerBImpl implements PowerB {

	@Override
	public void insert() {
		System.out.println("电源B接口开始工作");
	}
}

interface PowerA {
	public void connect();
}

class PowerAImpl implements PowerA {

	@Override
	public void connect() {
		System.out.println("电源A接口开始工作");
	}
}


© 著作权归作者所有

共有 人打赏支持
上一篇: Java之注解初探
来来来过来挨到我坐
粉丝 2
博文 13
码字总数 7493
作品 0
程序员
私信 提问
java设计模式-- 单例模式

在很久之前,也就是在大二暑假的时候,那时候看马士兵的视频教程中有提到很多的设计模式。 java的设计模式大致可以分为3大类,23种设计模式。 其中,创建型模式有5种:单例模式、建造者模式、...

爱学习的逃课君
2014/11/27
0
0
设计模式已经陨落了?

你现在是坐在一个程序员旁边吗?如果是的话,那么在你读下面的段落之前,有一个简单的实验。让他们到一边去,问问他们两个问题并记录下答案。首先问他们“什么是设计模式?”然后再问“说出你...

oschina
2014/03/11
9.1K
69
【设计模式笔记】(十六)- 代理模式

一、简述 代理模式(Proxy Pattern),为其他对象提供一个代理,并由代理对象控制原有对象的引用;也称为委托模式。 其实代理模式无论是在日常开发还是设计模式中,基本随处可见,中介者模式中...

MrTrying
06/24
0
0
《PHP设计模式大全》系列分享专栏

《PHP设计模式大全》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201739.html 文章 php设计模式介绍之编程惯用法第1/3页 php设计模式介绍之值对象模式第1/5页...

kaixin_code
11/06
0
0
设计模式梳理(一)

设计模式梳理(一) 总体来说设计模式分为三大类: @案例源码地址:https://gitlab.com/lxqxsyu/DisgnPattern 创建型模式 简单工厂模式 工厂类是整个模式的关键。它包含必要的判断逻辑,能够...

lxq_xsyu
2017/11/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

tomcat线程模型

Connector结构 BIO模式 NIO模式

grace_233
31分钟前
2
0
Javascript

变量定义 以$,_,字母开头 大小写敏感 var 关键字声明变量 声明未赋值undefined 数据类型 字符串,数字,布尔,数组,NULL,undefined 变量均为对象 函数 无默认值 var声明的是局部变量 函数外声明...

关元
33分钟前
1
0
文件系统、服务、防火墙、SELINUX——安全四大金刚

一提到安全,大家都会想到防火墙,和文件系统权限。而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别。我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个...

Linux就该这么学
34分钟前
1
0
从源码角度理解Java设计模式——门面模式

一、门面模式介绍 门面模式定义:也叫外观模式,定义了一个访问子系统的接口,除了这个接口以外,不允许其他访问子系统的行为发生。 适用场景:子系统很复杂时,增加一个接口供外部访问。 优...

我叫刘半仙
43分钟前
2
0
新鲜出炉,2019最新大厂面试题总汇!

在这个互联网技术快速迭代的时代,每个程序员都知道技术对于职业发展的重要性,那些技术好的程序员不仅薪资高,而且大多数集中在一线互联网企业工作,让人感觉非常高大上的同时,也想去大厂做...

Java架构资源分享
52分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部