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();
}
}
|
设计模式之适配器模式,Adapter
最新推荐文章于 2021-08-29 18:18:15 发布