设计模式-桥接模式(Bridge)

桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。桥接模式将继承关系转化成关联关系,它降低了类与类之间的耦合度,减少了系统中类的数量,也减少了代码量。

#桥接类
public abstract class Shape {
        //实现部门
    Color color;

    public void setColor(Color color) {
        this.color = color;
    }
    //抽象部分
    public abstract void draw();
}

#抽象部分-圆形
public class Circle extends Shape{

    public void draw() {
        color.bepaint("正方形");
    }
}
#抽象部分-正方形
public class Square extends Shape{

    public void draw() {
        color.bepaint("正方形");
    }

}

#实现部分-颜色接口
public interface Color {
    public void bepaint(String shape);
}
#实现部分-白色
public class White implements Color{

    public void bepaint(String shape) {
        System.out.println("白色的" + shape);
    }

}
#实现部分-黑色
public class Black implements Color{

    public void bepaint(String shape) {
        System.out.println("黑色的" + shape);
    }
}

public class Test {
    public static void main(String[] args) {
        //画一个白色的正方形
        Color white = new White();
        Shape square = new Square();
        square.setColor(white);
        square.draw();
        
        //画一个白色的长方形
        Shape rectange = new Rectangle();
        rectange.setColor(white);
        rectange.draw();
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值