大话设计模式-适配器模式(大鸟和小菜Java版)
Posted 香风智乃哈~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话设计模式-适配器模式(大鸟和小菜Java版)相关的知识,希望对你有一定的参考价值。
本文是把大鸟和小菜的故事里的代码,转换为Java代码
适配器模式(Adapter):将一个类的接口转换为客户虚妄的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。
(感觉这个相对于前面几个相对来说要简单一些)
代码是篮球翻译适配器里的
package 设计模式.适配器模式;
//定义一个抽象类,包含构造方法和抽象方法
public abstract class Player {
protected String name;
public Player(String name) {
this.name = name;
}
public abstract void attack();
public abstract void defense();
}
```java
package 设计模式.适配器模式;
//该类是前锋类 我把前锋、中锋和后卫的类都写在这里啦
//这些类都要继承Player抽象类
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 + " 防守");
}
}
//该类是中锋类
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+" 防守");
}
}
//该类是后卫类
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+" 防守");
}
}
```java
package 设计模式.适配器模式;
//测试总类,创造测试对象,对其进行测试
public class Test {
public static void main(String[] args) {
Player b = new Forwards("巴蒂尔");
b.attack();
Player m = new Guards("麦克格雷迪");
m.attack();
Player ym = new Center("姚明");
ym.attack();
ym.defense();
}
}
测试结果:
以上就是适配器模式的Java代码。
以上是关于大话设计模式-适配器模式(大鸟和小菜Java版)的主要内容,如果未能解决你的问题,请参考以下文章