一、案例

image.png
image.png
image.png

二、桥接模式

1、基本介绍:

image.png

2、桥接模式原理类图:

3、UML类图:

image.png

  1. // 品牌接口
  2. public interface Brand {
  3. void open();
  4. void close();
  5. // 打电话方法
  6. void call();
  7. }
  1. // 桥接类
  2. public abstract class Phone {
  3. //组合品牌
  4. private Brand brand;
  5. //构造器
  6. public Phone(Brand brand) {
  7. super();
  8. this.brand = brand;
  9. }
  10. protected void open() {
  11. this.brand.open();
  12. }
  13. protected void close() {
  14. brand.close();
  15. }
  16. protected void call() {
  17. brand.call();
  18. }
  19. }
  1. //折叠式手机类,继承 抽象类 Phone
  2. public class FoldedPhone extends Phone {
  3. //构造器
  4. public FoldedPhone(Brand brand) {
  5. super(brand);
  6. }
  7. @Override
  8. public void open() {
  9. super.open();
  10. System.out.println(" 折叠样式手机 ");
  11. }
  12. @Override
  13. public void close() {
  14. super.close();
  15. System.out.println(" 折叠样式手机 ");
  16. }
  17. @Override
  18. public void call() {
  19. super.call();
  20. System.out.println(" 折叠样式手机 ");
  21. }
  22. }
  1. public class Vivo implements Brand {
  2. @Override
  3. public void open() {
  4. // TODO Auto-generated method stub
  5. System.out.println(" Vivo手机开机 ");
  6. }
  7. @Override
  8. public void close() {
  9. // TODO Auto-generated method stub
  10. System.out.println(" Vivo手机关机 ");
  11. }
  12. @Override
  13. public void call() {
  14. // TODO Auto-generated method stub
  15. System.out.println(" Vivo手机打电话 ");
  16. }
  17. }