设计模式之适配器模式
2015-10-21 09:36
387 查看
public class AdapterPattern { public class Person { private String name; private String sex; private int age; public void speakJapanese() { System.out.println("I can speak Japanese!"); } public void speakEnglish() { System.out.println("I can speak English!"); } } /** * 目标接口 */ public interface Job { public void speakJapanese(); public void speakEnglish(); public void speakFrench(); } /** * 类适配器 */ public class ClassAdapter extends Person implements Job { public void speakFrench() { System.out.println("I can speak French!"); } } /** * 对象适配器 */ public class ObjectAdapter implements Job { Person person; public ObjectAdapter(Person person) { this.person = person; } public void speakEnglish() { person.speakEnglish(); } public void speakJapanese() { person.speakJapanese(); } // new add public void speakFrench() { System.out.println("I can speak French!"); } } }
相关文章推荐
- 修改linux内核开机logo并居中全屏显示
- 银行卡号验证js(Luhn算法)
- jquery通过输入框实时查找列表值
- Linux 常用基础命令
- HttpClient 模拟登陆百度 2015.10.21 JAVA
- 快速排序与 二分查找
- log4j 日志限制大小 拆分成30个 不按日期分日志 按大小拆分 按日期产生
- OpenGL ES的性能范围(OpenGL ES2.0官方文档)
- Android 实现录音和监听声音大小实现话筒动画效果
- ReactiveCocoa进阶篇
- DUILIB创建菜单窗口
- C#连接ACCESS 配置web.config
- oracle copy long
- 龙应台 目送
- js判断浏览器是否支持HTML5
- Java exception handling best practices--转载
- 各种文件编码
- print输出格式总结
- Linux时间戳和标准时间的互转-zz
- Objective-C Foundation框架实践——NSNumber(一)