设计模式--适配器模式
来源:互联网 发布:淘宝童装店简介 编辑:程序博客网 时间:2024/06/06 02:45
1 两个类所做的事情相同或相似,但是具有不同的接口,如果想要使用另外一个接口的实现类,可考虑使用适配器模式。
代码结构如下:
如下代码在一个接口的实现类中引用另外一个类、
抽象父类:
public abstract class Player { protected String name; public Player(String name) { this.name = name; } public abstract void attack(); public abstract void defense();}
两个子类:
public class CenterPlayer extends Player { public CenterPlayer(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void attack() { // TODO Auto-generated method stub System.out.println(name + "进攻"); } @Override public void defense() { // TODO Auto-generated method stub System.out.println(name + "防守"); }}public class ForwardPlayer extends Player { public ForwardPlayer(String name) { super(name); // TODO Auto-generated constructor stub } @Override public void attack() { // TODO Auto-generated method stub System.out.println(name + "进攻"); } @Override public void defense() { // TODO Auto-generated method stub System.out.println(name + "防守"); }}
适配器:
public class Translator extends Player { private ForeignPlayer foreignPlayer=new ForeignPlayer(); public Translator(String name) { super(name); foreignPlayer.setName(name); } @Override public void attack() { // TODO Auto-generated method stub foreignPlayer.attack(); } @Override public void defense() { // TODO Auto-generated method stub foreignPlayer.defense(); }}
需要适配的类:
public class ForeignPlayer{ private String name; public void attack() { // TODO Auto-generated method stub System.out.println("外籍:"+name+"进攻"); } public void defense() { // TODO Auto-generated method stub System.out.println("外籍:"+name+"防守"); } public String getName() { return name; } public void setName(String name) { this.name = name; }}
测试:
public class TextMain { public static void main(String[] args) { // TODO Auto-generated method stub Player player=new Translator("姚明"); player.attack(); player.defense(); }}
参考《大话设计模式》
阅读全文
0 0
- 设计模式:适配器模式
- 设计模式------适配器模式
- 设计模式:适配器模式
- 设计模式---适配器模式
- 设计模式 适配器模式
- 设计模式 - 适配器模式
- 设计模式--适配器模式
- 设计模式-适配器模式
- 设计模式------适配器模式
- 设计模式---适配器模式
- 设计模式- 适配器模式
- 设计模式 - 适配器模式
- 设计模式:适配器模式
- 适配器模式--设计模式
- 设计模式 - 适配器模式
- 设计模式-适配器模式
- 设计模式---适配器模式
- 设计模式-适配器模式
- 多线程
- 4.项目的建立
- spring 整合 shiro 之用户验证
- 定义对象模型(定义表)
- 高年级学长给计算机大一学生的学习建议
- 设计模式--适配器模式
- 泛型
- ORM课程
- java中Property类配置文件,反射创建实例并调用这个类的方法
- QT5 Hello Word!
- Activity与fragment之间的通信
- (2)php爬虫---提取优酷动漫的外链与介绍
- ios下拉效果滑动滚出页面
- A + B Problem II (大数加法)