
桥接模式的介绍什么的就免了(我懒),程序员间还是用图和代码交流吧 代码中有些命名使用了汉字,还请见谅,毕竟设计模式还是易读得好些

桥接模式.png

桥接模式UML.png
/**
* 作者:张风捷特烈
* 时间:2018/8/25 0025:8:18
* 邮箱:1981462002@qq.com
* 说明:卡片抽象类
*/
public abstract class Card {
protected Material mMaterial;
public void setMaterial(Material material) {
mMaterial = material;
}
public abstract void play();
}public class 扑克牌 extends Card {
public 扑克牌() {
play();
}
@Override
public void play() {
System.out.println("扑克牌:我就剩一张牌了");
}
}public class 游戏王卡 extends Card {
public 游戏王卡() {
play();
}
@Override
public void play() {
System.out.println("游戏王卡:我的回合,抽牌");
}
}public class 炉石卡 extends Card {
public 炉石卡() {
play();
}
@Override
public void play() {
System.out.println("炉石卡:为了正义");
}
}public abstract class Material {
public abstract void cover();
}public class 金 extends Material {
public 金() {
cover();
}
@Override
public void cover() {
System.out.println("卡片升级--->金卡");
}
}public class 银 extends Material {
public 银() {
cover();
}
@Override
public void cover() {
System.out.println("卡片升级--->银卡");
}
}public class Player {
public static void main(String[] args) {
游戏王卡 混沌战士 = new 游戏王卡();
混沌战士.setMaterial(new 银());
炉石卡 乌瑟尔 = new 炉石卡();
乌瑟尔.setMaterial(new 金());
}
}游戏王卡:我的回合,抽牌
卡片升级--->银卡
炉石卡:为了正义
卡片升级--->金卡本文由张风捷特烈原创,转载请注明