`

面向接口编程适配器模式

 
阅读更多
public interface cellphone {

	public void call();

	public void sensms();

}

 

public class huawei implements cellphone{

	@Override
	public void call() {
		System.out.println("huawei call");
	}

	@Override
	public void sensms() {
		System.out.println("huawei sendsms");
	}
    
}

 

public class iphone implements cellphone{

	@Override
	public void call() {
		System.out.println("iphone call");
	}

	@Override
	public void sensms() {
		System.out.println("iphone sendsms");
	}
	
	
	public void play(){
		System.out.println("iphone play");
	}
 
}

 

public class shanzhai {
	
	public void szcall(){
		System.out.println("sz calling");
	}
	public void szsendsms(){
		System.out.println("sz sendsms");
	}

}

 

public class szAdapter implements cellphone{
	
	private shanzhai sz;
	
	public szAdapter(shanzhai sz){
		this.sz = sz;
	}

	@Override
	public void call() {
		sz.szcall();
	}

	@Override
	public void sensms() {
		sz.szsendsms();
	}

}

 

public class testapdater {
	
	
	public static void main(String[] args) {
		cellphone c = new szAdapter(new shanzhai());
		c.call();
	}
	

}

 首先假设一个场景,比如我们是卖手机的,如果顾客来了挑选手机,需要一个个拿不同型号的手机去演示功能

为了简便,我们可以制作一个接口,在接口一端连接手机,另一端控制演示手机的各个功能

手机都有发短信、打电话两个基本功能,我们可以将接口设置为这两个功能

 

用一个适配器类 实现原有类接口的 然后将不适配的类作为这个类的私有属性,然后在原有方法中去实现

分享到:
评论

相关推荐

    适配器模式和代理模式的区别

    即Proxy Pattern,23种常用的面向对象软件的设计模式之一。(设计模式的说法源自《设计模式》一书,原名《Design Patterns: Elements of Reusable Object-Oriented Software》。1995年出版,出版社:Addison Wesly ...

    php设计模式之适配器模式原理、用法及注意事项详解

    本文实例讲述了php设计模式之适配器模式原理、用法及注意事项。...什么时候会用到适配器模式? 其实最简单的例子是当我们引用一个第三方类库。这个类库随着版本的改变,它提供的API也可能会改变。如

    JavaScript设计模式之适配器模式介绍

    实际开发环境下,由于旧的系统,或第三方应用提供的接口,与我们定义的接口不匹配,在以面向接口编程的环境下,就无法使用这样旧的,或第三方的接口,这时我们就使用适配类继承待适匹配的类,并让适配类实现接口的...

    Delphi模式编程第一分卷

    1.3 从面向对象编程到模式编程 1.3.1 关于封装的哲学 1.3.2 利用继承实现变化的封装和简单的复用 1.3.3 借助模式封装多个变化 1.3.4 模式帮助我们解决问题 第2章 Delphi的模式编程机制 2.1 对象模型机制 ...

    Delphi模式编程第二分卷

    1.3 从面向对象编程到模式编程 1.3.1 关于封装的哲学 1.3.2 利用继承实现变化的封装和简单的复用 1.3.3 借助模式封装多个变化 1.3.4 模式帮助我们解决问题 第2章 Delphi的模式编程机制 2.1 对象模型机制...

    设计模式:可复用面向对象软件的基础--详细书签版

    作者从多年的面向对象设计经验中精选了23个模式,这构成了该书的精华部份,每一个精益求精的优秀程序员都应拥有这本《设计模式》。”--larry o'brien, software development    “[设计模式]在实用环境下特别有用,...

    1.什么是设计模式? 2.设计模式是指在软件开发中,经过验证的,用于解决在特定环境下、重复出现的、特定问题的解决方案 3.说出

    4.简单工厂,外观模式,适配器模式,单例模式,工厂方法模式,抽象工厂模式,生成器模式,原型模式,中介者模式,代理模式,观察者模式,命令模式,迭代器模式,组合模式,模板方法模式,策略模式,状态模式,备忘录...

    24种设计模式介绍与6大设计原则

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、...

    PHP设计模式精彩剖析

    4. 适配器模式(Adapter Pattern):将一个类的接口转换成客户希望的另一个接口。 5. 策略模式(Strategy Pattern):定义一系列算法,将每个算法封装起来,使它们之间可以互相替换。 6. 命令模式(Command ...

    设计模式Demo

    结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、...

    设计模式 GOF 23

    本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...

    深入理解JavaScript系列.chm

    39.设计模式之适配器模式 40.设计模式之组合模式 41.设计模式之模板方法 42.设计模式之原型模式 43.设计模式之状态模式 44.设计模式之桥接模式 45.代码复用模式(避免篇) 46.代码复用模式(推荐篇) 47.对象创建...

    Delphi 深度探索(第二版)〖含随书光盘源代码〗

    6.2.1 适配器模式(adapter) 6.2.2 合成模式(composite模式) 6.2.3 装饰模式(decorator模式) 6.2.4 门面模式(faqade模式) 6.2.5 桥模式(bridge模式) 6.2.6 代理模式(proxy) 6.2.7 享元模式...

    二十三种设计模式【PDF版】

    整个设计模式贯穿一个原理:面对接口编程,而不是面对实现.目标原则是:降低耦合,增强灵活性. 建筑和软件中模式之异同 CSDN 的透明特别推崇《建筑的永恒之道》,认为从中探寻到软件的永恒之道,并就"设计模式"写了专门...

    JavaNote:java es番石榴jdk jdk8 jsonLombokmd线程jvm spring mvc vertx设计模式风暴

    - 对接口编程而不是对实现编程。 - 优先使用对象组合而不是继承。 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern...

    深入理解JavaScript系列

    深入理解JavaScript系列(39):设计模式之适配器模式 深入理解JavaScript系列(40):设计模式之组合模式 深入理解JavaScript系列(41):设计模式之模板方法 深入理解JavaScript系列(42):设计模式之原型模式...

    深入理解JavaScript系列(.chm)

    深入理解JavaScript系列(39):设计模式之适配器模式 深入理解JavaScript系列(40):设计模式之组合模式 深入理解JavaScript系列(41):设计模式之模板方法 深入理解JavaScript系列(42):设计模式之原型模式...

    Microsoft+.NET企业级应用架构设计

     5.3.3 适配器模式  5.3.4 数据迁移对象和程序集  5.4 面向服务架构  5.4.1 SOA的原则  5.4.2 SOA不是什么  5.4.3 SOA和服务层  5.5 富Web前端的特例  5.5.1 重构服务层  5.5.2 设计AJAX服务层  5.5.3 ...

    Microsoft+.NET企业级应用架构设计 超低积分

     5.3.3 适配器模式  5.3.4 数据迁移对象和程序集  5.4 面向服务架构  5.4.1 SOA的原则  5.4.2 SOA不是什么  5.4.3 SOA和服务层  5.5 富Web前端的特例  5.5.1 重构服务层  5.5.2 设计AJAX服务层  ...

    Java基础知识点总结.docx

    适配器模式 182 桥接模式 188 过滤器模式 192 组合模式 193 装饰器模式★★★★★ 196 外观模式 201 享元模式 204 代理模式★★★★★ 208 责任链模式 212 命令模式 216 解释器模式 219 迭代器模式 222 中介者模式 ...

Global site tag (gtag.js) - Google Analytics