`
donald3003a
  • 浏览: 64407 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
  • 淼淼E馒头: 这举列有点不恰当啊。。电影人和不同类型的电影。是两个不同概念 ...
    合成模式

适配器模式

阅读更多
这章说下适配器模式
这个模式很好理解简单的来说将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作
还是用例子说明
A相机只能用SD卡,但是我手上只有TF卡,怎么才能使相机工作呢?这时候我就去买个一个卡套(当然更多的同学是直接买个SD卡。。。)
卡套就相当于一个适配器
代码如下
1、SD卡
public class SdCard {
	public void big() {
		System.out.println("this is big");
	}
}


2、TF卡
public class TfCard {
	public void small() {
		System.out.println("this is small");
	}

}

3、卡套
public class CardSet extends SdCard{
	
	private TfCard tfCard;
	
	public void setTfCard(TfCard tfCard) {
		this.tfCard = tfCard;
	}

	public void big() {
		tfCard.small();
	}

}

4、照相机
public class Camera {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		CardSet cs = new CardSet();
		cs.setTfCard(new TfCard());
		Camera camera = new Camera();
		camera.useCard(cs);
	}
	
	private void useCard(SdCard sdCard){
		sdCard.big();
	}

}




输出的结果是this is small 我们使用的是TF卡。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics