设计模式之适配器模式,Adapter

package liu.adapter.demo;
public class Center extends Player {
 public Center(String name){
  super(name);
 }
 @Override
 public void attack() {
  System.out.println("中锋"+name+"进攻");
  
 }
 @Override
 public void defense() {
  System.out.println("中锋"+name+"防守");
  
 }
}
-------------------------------------------------------------------
package liu.adapter.demo;
public class ForeignCenter {
 private String name;
 public void setName(String name) {
  this.name = name;
 }
 public String getName() {
  return name;
 }
 
 public void attack() {
  System.out.println("外籍前锋"+name+"进攻");
  
 }

 public void defense() {
  System.out.println("外籍前锋"+name+"防守");
  
 }
}
--------------------------------------------------------------------
package liu.adapter.demo;
public class Forwards extends Player {
 public Forwards(String name){
  super(name);
 }
 @Override
 public void attack() {
  System.out.println("前锋"+name+"进攻");
  
 }
 @Override
 public void defense() {
  System.out.println("前锋"+name+"防守");
  
 }
}
----------------------------------------------------------------------------
package liu.adapter.demo;
public class Guards extends Player{
 public Guards(String name){
  super(name);
 }
 @Override
 public void attack() {
  System.out.println("后卫"+name+"进攻");
  
 }
 @Override
 public void defense() {
  System.out.println("后卫"+name+"防守");
  
 }
}
------------------------------------------------------
package liu.adapter.demo;
public abstract class Player {
 protected String name;
 public Player(String name){
  this.name = name;
 }
 public abstract void attack();
 public abstract void defense();
}
----------------------------------------------------------
package liu.adapter.demo;
public class Translator extends Player{
 private ForeignCenter fc = new ForeignCenter();
 public Translator(String name){
  super(name);
  fc.setName(name);
 }
 
 @Override
 public void attack() {
  fc.attack();
  
 }
 @Override
 public void defense() {
  fc.defense();
  
 }
 
}
----------------------------------------------------------
package liu.adapter.demo;
public class Main {

 public static void main(String[] args) {
  Player b = new Forwards("巴蒂尔");
  b.attack();
  
  Player m = new Guards("麦克格雷迪");
  m.attack();
  
  Player ym = new Translator("姚明 ");
  ym.attack();
  ym.defense();
 }
}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值